
私は次のようなコマンドを持っています
bar > /dev/null
そして私はbarの終了ステータスを知りたいのです。いくつかの投稿を読みましたす約 $ です{PIPESTATUS[0]}
が、これは出力をパイプで接続すると機能し|
、代わりに機能させることはできません>
。
何が足りないのでしょうか?
答え1
>
はコマンドではありません。つまり、bar は最後に実行されるコマンドになります。標準のif
ステートメントで失敗を確認できます。
if ! bar > /dev/null; then
echo "bar command failed"
fi
$?
ゼロより大きい値またはゼロ以外の値に興味がある場合は、次のようにして戻りコードにアクセスすることもできます。
bar > /dev/null
if [ "$?" -eq 45 ]; then
echo "bar returned exit code 45"
fi