如果未选中Java Exception,则停止bash脚本

时间:2009-02-25 17:51:35

标签: java bash exception

我在Bash脚本中运行java程序。 如果java程序抛出未经检查的异常,我想停止bash脚本而不是脚本继续执行下一个命令。

怎么做?我的脚本如下所示:

#!/bin/bash

javac *.java

java -ea HelloWorld > HelloWorld.txt

mv HelloWorld.txt ./HelloWorldDir

3 个答案:

答案 0 :(得分:12)

与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

答案 1 :(得分:10)

捕获异常,然后调用System.exit。检查shell脚本中的返回码。

答案 2 :(得分:3)

#!/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脚本。

相关问题