16

引用Bash 参考手册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.

4

1 回答 1

12

从拆分 here-strings 到不拆分它们的变化发生在 bash-4.4-alpha 和 bash-4.4-beta 之间。引自CHANGES

正如文档一直所说的那样,Bash 不再拆分此处字符串的扩展。

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

于 2017-12-11T01:06:32.250 回答