因此,我有一个用于运行某些测试的小脚本。
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或一般来说只是shell)?
eval
一直是粉丝的最爱。