shell调用java执行
shell程序
echo "starting"
java TestExit
echo $?
echo "ending"
java程序1
public class TestExit{
public static void main(String[] args) {
System.out.println("testing exit in java");
}
}
结果1
starting
testing exit in java
0
ending
java程序2
public class TestExit{
public static void main(String[] args) {
System.out.println("testing exit in java");
System.exit(2);
}
}
结果2
starting
testing exit in java
2
ending
问题:
使用过程中,System.exit(2)这个值,在一个java程序中,退出JVM时,shell获取到的并不是值2,而是0.
这是为什么哪?