我用 Java 编写了一个应用程序。然后,我将其打包成一个 JAR 文件,现在我使用“java -jar myapp.jar”从命令行运行它。由于它连接到网络,有时会抛出 IOException。因此,我想要做的是在应用程序完成时检查 JAR 文件的返回值(当应用程序正常关闭时,它返回 0,而当它因异常而关闭时,它返回 1)。接下来,我想运行这个 JAR 文件,只要它不会返回 0 值(某种 while 循环)。谢谢帮助。
答案1
您可以使用 来获取 bash 中进程的退出值$?
。此变量包含最后执行的进程的退出值(0
或1
根据您的情况)。
因此,要按预期运行脚本,您可以使用类似
#!/bin/bash
java -jar ...
while [ $? -ne 0]; do
jar -jar ...
done