如果鱼不能使用变量作为语法值怎么办



例如

set -g hi "lol lol 123 321"
For I in $hi
echo $hi
end

它直接输出$hi

这里有很多问题:

  1. 这是为了,而不是为了
  2. $hi是一个只有一个元素的变量,所以运行for循环在这里没有多大意义。大概你想把它设置成没有引号的set-g嗨lol lol 123 321
  3. 在(假定的(for循环中,您打印的是$hi,而不是循环变量——这可能是echo$I

让我们在这里用它的值替换$hi:

for I in "lol lol 123 321"
echo "lol lol 123 321"
end

看看如何打印lol lol 123 321一次?Fish不进行分词,因此如果将$hi设置为"lol lol 123 321",则当使用不带引号的变量时,将使用该值。这就像我们刚刚在这里做的一样。

鱼不可能不";将该变量用作语法中的值";。它使用你告诉它的变量。

我想你的意思是

set -g hi lol lol 123 321
for I in $hi
echo $I
end

将打印

lol
lol
123
321

看看这是如何在没有引号的情况下设置$hi的,所以现在它是四个独立的元素吗?它还在循环中使用实际的循环变量。

相关内容

最新更新