シェルスクリプトでエラーをキャッチするスキップ

シェルスクリプトでエラーをキャッチするスキップ

プログラムをコンパイルするスクリプトがあります。プログラムは最初にコマンドを使用してソースコードをコンパイルし、それをconfigure && make使用しますmake test。スクリプトはset -eエラーをキャッチするためにも使用されます。

今私が望むのは、スクリプトの設定を維持し、set -eエラーが発生してもスクリプトを実行し続けることです。エラーが発生してもテスト実行をmake test試してみましたが、コマンドがハングして停止します。make -k testset -e

また、どのテストが失敗するかを知っているので、スクリプトがこれらのエラーキャプチャをスキップするように指示する方法はありますか?

ベストアンサー1

make test || true

例えば

#!/bin/sh
set -e
echo hello
make test || true
echo done

結果は次のとおりです。

hello
make: *** No rule to make target `test'.  Stop.
done

この場合、失敗はルールの欠落(Makefileなし:-)が原因で発生しますが、スクリプトが続くことがわかります。

おすすめ記事