echo在Bash变量中删除前导空格。
在Bash中,如果变量的值以空格开头,当使用echo命令打印该变量时,开头的空格会被自动去除。这是因为Bash会对变量进行单词拆分。为了禁用单词拆分,可以将变量用双引号括起来:
echo "$mystr"
这样,即使变量值以空格开头,echo命令也会将其原样输出。
问题的解决方法就是使用双引号将变量括起来,以禁用单词拆分。
相关链接:
- [I just assigned a variable, but echo $variable shows something else](https://stackoverflow.com/questions/29378566)
- [Word Splitting](http://mywiki.wooledge.org/WordSplitting)
- [Field Splitting](http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_05)