引用Bash Reference Manual和man 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
。
答案 0 :(得分:10)
从分裂到字符串到不分割它们的变化发生在bash-4.4-alpha和bash-4.4-beta之间。引自create the map:
Bash不再拆分here-strings的扩展,正如文档总是说的那样。
所以旧的Bash版本的手册提到了它,但实际上并没有这样做。