我正在尝试使用System.exit(n)
返回各种错误代码。我需要这样做才能从Unix shell脚本中访问这些数字。
因此,例如在我的java程序中,我有System.exit(2)
。
然后在我的shell脚本中我有:
var=$(java myProgram arguments)
当run使用System.exit(2)退出java程序时,不应该输出整数2到" var"?因为它没有。我错过了什么吗?我需要做些什么来让它给我整数?
答案 0 :(得分:1)
没有
var = $(...)
捕获写入标准输出的文本。 数字退出状态是单独返回的,可以作为shell变量的值来访问$?
请注意,对于非交互式shell(即,如果此命令包含在脚本中),默认情况下非零退出状态将终止脚本。您可以通过在条件中使用命令来阻止自动终止。例如:
var = $(...)|| echo退出代码是$?