首页 > 解决方案 > 如何根据结果在 Shell 脚本中按顺序运行 jar?

问题描述

假设我是 2 个 jar 文件并且需要从 shell 脚本运行它们,我可以在同一个脚本中使用以下命令。

java -jar myApp1.jar

java -jar myApp2.jar

所以它会先启动myApp1.jar,然后再启动myApp2.jar文件。

问题:只有当myApp1.jar的运行成功/完成时,我才想运行myApp2.jar 。 如果 myApp1.jar 运行失败,它将退出 shell 脚本。

任何人都可以帮助我如何实现这一目标?

标签: bashshellsh

解决方案


java -jar myApp1.jar || exit 1 && java -jar myApp2.jar

或者

#!/bin/sh

if java -jar myApp1.jar; then
    echo 'myApp1.jar -- Successful!'
    if java -jar myApp2.jar; then
        echo 'myApp2.jar -- Successful!'
    else
        echo 'myApp2.jar -- Failed!'
        exit 1
   fi
else
    echo 'myApp1.jar -- Failed!'
    exit 1
fi

推荐阅读