java - 从java返回的整数值在shell脚本中变成不同的值

标签 java shell return-code

我们的java程序在退出时返回一个状态代码

System.out.println(statusCode);

System.exit (statuscode);

该值返回到调用 java 类的 shell 脚本 (korn shell)。在脚本中,它通过存储在变量 RETSTATUS 中来获取返回值,如下所示 -

$JAVA_HOME/bin java $SYSTEM_PARAMS -jar myclass.jar

RETSTATUS=$?

echo $RETSTATUS

不知何故,java中打印的值是400(正确的状态代码),但脚本中RETSTATUS的值在echo中是144。知道为什么以及如何解决它吗?感谢您提前提供的任何帮助。

最佳答案

*nix 中的退出代码是。当您返回 400 时,返回代码就会溢出(请注意 400-256=144)。只需返回 255 及以下的合理正数即可。

关于java - 从java返回的整数值在shell脚本中变成不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30769131/

相关文章:

java - 来自 ByteArrayInputStream 的 Camel 路由

javascript - 如何从 meteor shell 将任何内容记录到控制台?

bash - 在 Bash 中命名常量的约定是什么?

bash - 在不关闭 shell 的情况下返回退出代码

javascript - Java/Javascript -> 多个用户在同一个 sql 数据源上工作,该数据源必须在前端保持一致

java - 使用密码加密消息java

linux - export 在 shell 脚本中不起作用,但通过 CLI 起作用

json - 如何判断 jq 过滤器是否成功从 JSON 数据结构中提取数据?

mysql - bash:从重定向的输入命令返回代码

java - 我们可以使用 C、C++ 或 Java(任何语言)将 PDF 文件转换为 HTML 吗?