执行以下命令,从终端中获得一个输入,赋值给变量aa=$(cat)
当我在终端下输入如下字符串的时候:
hello
world
那么此时的a=$(cat)
是等价于a="hello world"
还是a=hello world
即此时的$(cat)
被替换成了hello world
还是"hello world"
我想应该是被替换成了"hello world"
, 因为如果是a=hello world
,会报错,但这条命令正确执行了。
但是如果我改变一下命令,加一个括号a=($(cat))
如果我们依然将$(cat)
展开为"hello world"
,那么a=("hello world")
a就变成了一个只有元素hello world
的数组,但是事实却并非如此,此时的a是一个包含两个元素hello
和world
的数组,即此时的$(cat)
展开为不带引号的hello world
才是对的。和上面是矛盾的。