维护子shell输出中的换行符

当我执行子shell以获得命令的输出时,换行符丢失

例如:

文件名=$(grep'foobar'/some/dir)
echo$文件名

假设/some/dir中包含字符串“foobar”的文件超过1个,则这些文件名将打印在一个长空格分隔行中,而不是每行1个文件名

我不能仅仅使用tr将空格转换回换行符,因为文件名中可能包含空格

有没有办法保持换行符

引用变量以打印换行符:

文件名=$(grep'foobar'/some/dir)
回显“$filename”

发表评论