2017-03-18 56 views
0

我有一个与当我使用命令替换庆典 - 命令替换被忽略空格

> echo " test" 
    test 

> echo $(echo " test") 
test 

是被吃了前导空格返回字符串的命令为什么会出现这种情况,我能做些什么呢?

+0

使用:'echo“$(echo”test“)”'查看空格 – anubhava

回答

1

可以双引号命令替换以保留,

echo "$(echo " test")" 
    test 

man bash页面上,

命令替换

猛砸执行由执行命令和更换膨胀命令替换为命令的标准输出,删除任何尾随的换行符 。嵌入换行符不会被删除,但可能会在分词过程中被删除。

如果替代出现内双引号,分词和路径的扩展不会对结果进行。