我对应用程序的退出代码和bash返回值感到困惑。对于eclipse应用程序,使用eclipse运行的命令行界面将退出代码返回为1(在出错时预期)。但是当我使用shell文件运行相同的命令行并使用“echo $?”检查返回值时它总是将值返回为0。
在Eclipse中以命令行模式启动的应用程序:
Shell脚本:
command =“toolCli.exe -application arguments”
$命令
echo $?
我到这里的输出总是0,这里有什么区别?
答案 0 :(得分:0)
$ 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环境感兴趣?
因此,可以在Windows命令行下运行该命令,看看它是否失败,比较两种环境中的java设置。