web-dev-qa-db-ja.com

コマンド置換の終了ステータスを取得する

コマンド置換の出力をローカル変数に割り当てる場合、コマンドの終了ステータスを取得するにはどうすればよいですか?

これはZSH 5.8の動作です。

false; echo $? # output is 1 as expected

foo=$(false); echo $? # output is 1 as expected

local foo=$(false); echo $? # output is 0
2
Jay

宣言を割り当てから分割します。

local foo
foo=$(false)

SC2155 も参照してください。)

5
Stephen Kitt