web-dev-qa-db-ja.com

$(command)で起動したサブシェルから終了コードを取得できますか?

私はこのような変数を設定しています:

myvar=$(command --params)

後でコマンドの終了コード($?)を確認したい。このように$?をチェックすると、変数をコマンドの出力に正常に設定したため、常に0が返されます。

commandの戻り値を取得することは可能ですか?

16
Questionmark

はい、それはあなたの邪魔をしなくても可能です:

$ $(exit 3); echo $?
3

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