2012-08-13 283 views

回答

4

当您运行此命令:

echo -e $RESULT 

猛砸上$RESULT执行word splitting;也就是说,它将它分割为空格,并将结果标记作为单独的参数传递给echo。所以你基本上是运行以下命令:

echo -e file1.txt file2.txt file3.txt 

echo没有办法知道$RESULT包含新行的方式。

(该-e,顺便说一下,是不是在这里真的很重要。-e不影响只喜欢\n —反斜线后跟n实际序列的换行符治疗。)

0

在这种情况下,它将不同的行视为单独的参数。

4

-e是无关紧要的。

echo "$RESULT"看到一个参数,一个带有嵌入换行符的字符串。

echo $RESULT看到的数字与$RESULT中的字数一样多。分隔这些单词的空格(包括换行符)被shell所用。