読み取るサブシェル出力を割り当てるときにサブシェル終了コードをキャプチャする方法は? [コピー]

読み取るサブシェル出力を割り当てるときにサブシェル終了コードをキャプチャする方法は? [コピー]

考慮する:

$ read -r a <<<$(echo "foo"; exit 1)
$ echo $?
0

実際に1を期待すると、0が返されます。サブシェルから実際の終了コードを抽出する方法は?

ベストアンサー1

いくつかのステップが必要です。

output=$(echo "foo"; exit 1)
status=$?
read -r a <<<"$output"       # assuming the "real" code here is more complex

おすすめ記事