例如
set -g hi "lol lol 123 321"
For I in $hi
echo $hi
end
它直接输出$hi
这里有很多问题:
- 这是为了,而不是为了
- $hi是一个只有一个元素的变量,所以运行for循环在这里没有多大意义。大概你想把它设置成没有引号的set-g嗨lol lol 123 321
- 在(假定的(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的,所以现在它是四个独立的元素吗?它还在循环中使用实际的循环变量。