我有一个命令,它返回一个带有前导空格的字符串,当我使用命令替换时它会被吃掉
> echo " test"
test
> echo $(echo " test")
test
为什么会发生这种情况,我该怎么办呢?
答案 0 :(得分:1)
你可以双引号命令替换来保存它,
echo "$(echo " test")"
test
从页面上的man bash
命令替换
Bash执行扩展,执行命令并用命令的标准输出替换命令替换,以及任何尾随换行符 删除。嵌入的换行不会被删除,但在分词时可能会被删除。
如果替换出现在双引号 中,则不会对结果执行分词和路径名扩展。