如果我得到变量上命令的结果,如何用新行打印此输出。愚蠢的例子:
XX=$(ls -l); echo $XX
Run Code Online (Sandbox Code Playgroud)
当我执行上面的句子时,我得到一行难以辨认的结果,而不是我ls -l
在终端上执行时看到的格式化返回。有什么方法可以获取格式化命令的结果或用换行符显示其结果吗?
您需要双引号以使 shell 不执行字段分割:
XX="$(ls -l)"; echo "$XX"
Run Code Online (Sandbox Code Playgroud)
echo
但是与不知道其内容的变量一起使用是不好的,您应该使用printf
(阅读这个答案):
XX="$(ls -l)"; printf '%s\n' "$XX"
Run Code Online (Sandbox Code Playgroud)