如何从unix shell脚本获取java程序完成状态?

vin*_*ino 7 java unix shell

例如,我们正在执行以下语句,我们希望根据java执行的状态进一步处理.

java -classpath  $CLASSPATH com.heb.endeca.batch.BatchManager "param1" "param2" "param3"
Run Code Online (Sandbox Code Playgroud)

小智 9

如果您的Java代码退出System.exit(status),您可以像这样在Bash中获取状态:

Java的:

public class E {
    public static void main(String[] args) {
        System.exit(42);
    }
}
Run Code Online (Sandbox Code Playgroud)

击:

$ java E
$ echo $?
42
Run Code Online (Sandbox Code Playgroud)

$? 是最后完成的进程的退出状态.