【问题标题】:Using System.exit(n) to return value to Unix shell script使用 System.exit(n) 将值返回给 Unix shell 脚本
【发布时间】:2014-12-07 03:53:02
【问题描述】:

我正在尝试使用System.exit(n) 返回各种错误代码。我需要这样做才能从 Unix shell 脚本访问这些数字。

例如,在我的 java 程序中,我有 System.exit(2)

然后在我的 shell 脚本中:

var=$(java myProgram arguments)

哪个运行时会使用 System.exit(2) 退出 java 程序,它不应该将整数 2 输出到“var”吗?因为它没有。我错过了什么吗?我需要做什么才能让它给我整数?

【问题讨论】:

  • shell 语法将子命令的打印输出分配给 var。你想要$?

标签: java bash shell unix


【解决方案1】:

没有。

var=$( ... )

捕获写入标准输出的文本numeric退出状态单独返回,可以作为shell变量$?

的值访问

请注意,对于非交互式 shell(即,如果此命令包含在脚本中),非零退出状态将默认终止脚本。您可以通过在条件中使用命令来阻止自动终止。例如:

var=$( ... ) || echo 退出代码是 $?

【讨论】:

  • 啊,好吧,这就是原因。所以我要在一个脚本中运行一堆这些java命令,我怎样才能得到$?每一次?我对如何访问它感到困惑。
  • @user3059869 $? 将为您提供最后运行的命令的返回值。在每个命令之后继续阅读它。 var=$? 会将号码存储在 var 中。
猜你喜欢
  • 1970-01-01
  • 2014-12-20
  • 2013-07-16
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2011-05-30
  • 2011-10-01
相关资源
最近更新 更多