コマンド置換の出力をローカル変数に割り当てる場合、コマンドの終了ステータスを取得するにはどうすればよいですか?
これは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
宣言を割り当てから分割します。
local foo foo=$(false)
( SC2155 も参照してください。)