そのため、いくつかのテストを実行するための小さなスクリプトがあります。
javac *.java && java -ea Test
rm -f *.class
ここでの問題は、スクリプトを実行する./test
と、テストがrm -f *.class
成功したために失敗した場合でも、成功の終了コードを返すことです。
私が望んでいることを実現することを考えることができる唯一の方法は、私にとってい感じです:
javac *.java && java -ea Test
test_exit_code=$?
rm -f *.class
if [ "$test_exit_code" != 0 ] ; then false; fi
しかし、これは一般的な問題のように見えます-タスクを実行し、クリーンアップしてから、元のタスクの終了コードを返します。
これを行う最も慣用的な方法は何ですか(bashまたは一般的なシェルのみ)?
eval
常にファンのお気に入りです。