Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个命令返回一个带有前导空格的字符串,当我使用命令替换时会被吃掉
> echo " test" test > echo $(echo " test") test
为什么会发生这种情况,我该怎么办?
您可以用双引号命令替换来保留它,
echo "$(echo " test")" test
从man bash页面上看,
man bash
命令替换 Bash 通过执行命令并将命令替换替换为命令的标准输出来执行扩展,并删除任何尾随的换行符。嵌入的换行符不会被删除,但它们可能会在分词过程中被删除。 如果替换出现在双引号内,则不会对结果执行分词和路径名扩展。
命令替换
Bash 通过执行命令并将命令替换替换为命令的标准输出来执行扩展,并删除任何尾随的换行符。嵌入的换行符不会被删除,但它们可能会在分词过程中被删除。
如果替换出现在双引号内,则不会对结果执行分词和路径名扩展。