【问题标题】:Application's exit status is different than when application run by shell script应用程序的退出状态与应用程序通过 shell 脚本运行时不同
【发布时间】:2017-09-22 08:31:33
【问题描述】:

我对应用程序的退出代码和 bash 返回值感到困惑。对于 eclipse 应用程序,使用 eclipse 运行的命令行界面将退出代码返回为 1(发生错误时应为该代码)。但是当我使用 shell 文件运行相同的命令行并使用“echo $?”检查返回值时它总是返回值为 0。

在 Eclipse 中以命令行模式启动应用程序:

Shell 脚本:

command ="toolCli.exe -应用程序参数"

$命令

回声$?

我在这里得到的输出总是 0,这到底有什么区别?

【问题讨论】:

  • 那么你的命令是什么?
  • @yaccits 调用 toolsCli.exe 的工具命令行界面命令。命令的格式是 toolsCli.exe -application
  • 我认为这是一个标记化问题。 eval "$command" 有什么用?而且 toolsCli.exe 可能会使原来的退出值黯然失色。

标签: eclipse bash shell


【解决方案1】:
$ com="echoo hi"
$ $com
No command 'echoo' found, did you mean:
 Command 'echo' from package 'coreutils' (main)
echoo: command not found
$ echo $?
127

您可以看到退出值确实有效,我相信您的问题可能与环境有关,因为 eclipse 环境与您的 bash 环境不同?

从 java 路径来看,您似乎有一个 64 位 windows env,并且 eclipse 可能正在使用标准 windows 命令行,所以我对您期望它如何表现为 bash env 感兴趣?

所以也许在windows命令行下运行命令,看看是否失败,比较两个环境下的java设置。

【讨论】:

    猜你喜欢
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    相关资源
    最近更新 更多