我可以从使用 $(command) 启动的子 shell 中获取退出代码吗?

我可以从使用 $(command) 启动的子 shell 中获取退出代码吗?

我正在设置一个这样的变量:

myvar=$(command --params)

我想$?随后检查命令的退出代码 ( )。$?像这样的检查总是返回0,因为它成功地将变量设置为命令的输出。

是否可以得到 的返回值command

答案1

是的,这是可能的,甚至不需要走得太远:

$ $(exit 3); echo $?
3

$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar

相关内容