为什么这个 for 循环中没有打印空格?

为什么这个 for 循环中没有打印空格?

我有这个代码:

for i in 'some     text' "some     other     text"
do
    echo $i
done

输出是:

some text
some other text

为什么空格没有被打印?

答案1

引用你的扩展echo "$i"

$ for i in 'some     text' "some     other     text"
do
    echo "$i"
done

印刷

some     text
some     other     text

答案2

因为它扩展到

echo some text

这将导致您给出的输出。这就是为什么在大多数情况下我们应该引用变量。尝试替换echo $iecho "$i"查看差异。

相关内容