在执行命令后,as将
$(command)允许命令的输出替换自身。
当你说:
a=$(false) # false fails; the output of false is stored in the variable a
命令产生的输出
false存储在变量中
a。而且,退出代码与命令产生的代码相同。
help false会告诉:
false: false Return an unsuccessful result. Exit Status: Always fails.
另一方面说:
$ false # Exit pre: 1$ a="" # Exit pre: 0$ echo $? # Prints 0
使
a返回分配的退出代码为
0。
编辑:
引用手册:
如果其中一个扩展包含命令替换,则命令的退出状态为上次执行的命令替换的退出状态。
从BASHFAQ / 002引用:
如何在变量中存储命令的返回值和/或输出?
…
output=$(command)status=$?的分配对仍处于中的退出状态
output没有影响。command``$?



