%20%E5%90%AF%E5%8A%A8%E7%9A%84%E5%AD%90%20shell%20%E4%B8%AD%E8%8E%B7%E5%8F%96%E9%80%80%E5%87%BA%E4%BB%A3%E7%A0%81%E5%90%97%EF%BC%9F%20.png)
我正在设置一个这样的变量:
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