bashでは、エイリアスで実行された特定のコマンドの終了コードを伝播して、エイリアス呼び出し自体がそれを返すようにしたいと思います(それで終了します)。
次の例を想像してみてください (注意してください: コマンドは意味がありません。私が直面している問題を示しているだけです):
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; alias cdb='cd \/b'
cda && cdb
私にとっては、次のようなディレクトリはありませ/a
ん/b
。コマンドが失敗することを確認するためです。エイリアスの実行が成功cdb
した場合にのみエイリアスを実行したいと思います。cda
ただし、echo
最後のコマンドと同様にexit
ステータスで終了しました0
=>両方が実行されます
私が試したことは次のとおりです。
alias cda='cd \/a; exit_code=$?; echo "STATUS: $exit_code"; exit $exit_code'; alias cdb='cd \/b'
cda && cdb
ただし、これはシェルを完全に終了します=>私には実行できません。
$exit_code
エイリアスの終了ステータスとして終了ステータス(私の場合)を伝播する方法はありますか?