我正在设置一个这样的变量:
myvar=$(command --params)
我想$?
随后检查命令的退出代码 ( )。$?
像这样的检查总是返回0
,因为它成功地将变量设置为命令的输出。
是否可以得到 的返回值command
?
答案1
是的,这是可能的,甚至不需要走得太远:
$ $(exit 3); echo $?
3
$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar
我正在设置一个这样的变量:
myvar=$(command --params)
我想$?
随后检查命令的退出代码 ( )。$?
像这样的检查总是返回0
,因为它成功地将变量设置为命令的输出。
是否可以得到 的返回值command
?
是的,这是可能的,甚至不需要走得太远:
$ $(exit 3); echo $?
3
$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar