这里的字符串是否经过分词?

时间:2017-12-11 00:08:16

标签: linux bash herestring

引用Bash Reference Manualman bash(版本4.3):

  

[n]<<< word

     

word 经历大括号扩展,波浪扩展,参数和   变量扩展,命令替换,算术扩展和   报价删除。路径名扩展和单词拆分不是   进行。

word不应进行分词。但是,使用这个简单的代码:

var="a    b"

cat <<< $var
#output:
#a b

cat <<< "$var"
#output:
#a    b

我错过了什么?这取决于bash的版本还是手册中有错误?我正在使用GNU bash, version 4.3.48

1 个答案:

答案 0 :(得分:10)

从分裂到字符串到不分割它们的变化发生在bash-4.4-alpha和bash-4.4-beta之间。引自create the map

  

Bash不再拆分here-strings的扩展,正如文档总是说的那样。

所以旧的Bash版本的手册提到了它,但实际上并没有这样做。