inにdash対応するシェルに同様のオプションはありますか?pipefailbash
または、パイプ内のコマンドの1つが失敗した場合にゼロ以外のステータスを取得する他の方法(ただし、終了しない場合set -e)。
明確にするために、私が達成したいことの例を次に示します。
サンプルのデバッグ makefile では、私のルールは次のようになります。
set -o pipefail; gcc -Wall $$f.c -o $$f 2>&1 | tee err; if [ $$? -ne 0 ]; then vim -o $$f.c err; ./$$f; fi;
基本的にはエラー時にエラーファイルとソースファイルを開き、エラーがなければプログラムを実行します。タイピングの手間が省けます。上記のスニペットはうまく機能しますbashが、私の新しい Ubunty システムでは、オプションdashをサポートしていないようです。pipefail
以下のコマンドグループの最初の部分が失敗した場合、基本的に FAILURE ステータスが必要です。
gcc -Wall $$f.c -o $$f 2>&1 | tee err
それをifステートメントに使用できるようにします。
それを達成する別の方法はありますか?
ありがとう!