次のロジックが使用されているバッシュにコマンドの終了コードを確認するには:Bashスクリプトで効率的なエラーチェックを作成するには?
if [ $? -ne 0 ]
then
echo "Error occurred"
return 1
fi
私の問題は、すべてのコマンドの後にこれを追加することが同じものの複数のコピーを持つスクリプトが非常に長くなることです、と非常に硬いへ維持する。
ここで最も良いことは、終了コードをチェックする必要があるすべての場所から呼び出される関数です。問題は、現在のプロセス(現在のBashセッションが強制終了される)を強制終了するため、コマンドを使用できないため、return
コマンドだけを使用できることです。しかし、リターンコマンドを使用するとき、呼び出された関数では、呼び出し元の関数は引き続き終了コードをチェックしなければならず、同じ問題に戻りました。
BashにMACROのようなものがあるのでしょうか、エラーチェックに他の方法がありますか?これに代えて
'set -e'はどうですか? – Biffen
これは現在のプロセスを強制終了し、それは必要な動作ではありません –