如果引发未检查的Java异常,请停止bash脚本
我正在Bash脚本中运行一个java程序。 如果java程序抛出未经检查的异常,我希望停止bash脚本,而不是脚本继续执行下一个命令 如何做到这一点?我的脚本如下所示:如果引发未检查的Java异常,请停止bash脚本,java,bash,exception,Java,Bash,Exception,我正在Bash脚本中运行一个java程序。 如果java程序抛出未经检查的异常,我希望停止bash脚本,而不是脚本继续执行下一个命令 如何做到这一点?我的脚本如下所示: #!/bin/bash javac *.java java -ea HelloWorld > HelloWorld.txt mv HelloWorld.txt ./HelloWorldDir 捕获异常,然后调用System.exit。检查shell脚本中的返回代码 #!/bin/bash function fai
#!/bin/bash
javac *.java
java -ea HelloWorld > HelloWorld.txt
mv HelloWorld.txt ./HelloWorldDir
捕获异常,然后调用System.exit。检查shell脚本中的返回代码
#!/bin/bash
function failure()
{
echo "$@" >&2
exit 1
}
javac *.java || failure "Failed to compile"
java -ea HelloWorld > HelloWorld.txt || failure "Failed to run"
mv HelloWorld.txt ./HelloWorldDir || failure "Failed to move"
此外,您还必须确保java
以非零退出代码退出,但这很可能是一个未捕获的异常
如果命令失败,基本上退出shell脚本。与Tom Hawtin达成一致 要在Bash脚本中检查Java程序的退出代码,请执行以下操作:
#!/bin/bash
javac *.java
java -ea HelloWorld > HelloWorld.txt
exitValue=$?
if [ $exitValue != 0 ]
then
exit $exitValue
fi
mv HelloWorld.txt ./HelloWorldDir