如何将行尾的variables提供给bash中其他应用程序的标准input?

是否有一种(简单的)方式将variables以行尾的方式送入BASH中的其他程序? 考虑一下例子:

flist=$(ls -l) echo $flist 

echo将用空格replace所有行的末尾,所以我的输出将不同于variables的内容。 其他例子:

 echo $flist | grep myfile.txt 

这个命令不能像预期的那样输出关于myfile.txt信息。 如何打印包含myfile.txt的行。


这是一个解决scheme:

 cat << EOF | grep myfile.txt $flist EOF 

任何不那么丑陋?

问题不是echo ,是壳。 尝试使用双引号:

 echo "$flist" | grep myfile.txt 

应该工作正常。