如何从 shell 脚本按顺序 运行 jar 文件

How to run jar files sequentially from a shell script

我正在尝试 运行 在我的 docker 容器中一个接一个地 java 应用程序。 在我的 docker 文件中,我指定了 invoker.sh 作为入口点。

ENTRYPOINT ["sh", "/opt/invoker.sh"]

然后我用这个脚本 运行 两个 jar 文件。

#!/bin/sh
java -jar loader.jar
java -jar service.jar

但这不起作用。它给出

Error: Unable to access jarfile javaimpl-loader.jar

并且只执行service.jar。当我尝试 echo $(ls) 时,它显示两个 jar 文件都在那里。

但如果我将脚本更改为

#!/bin/sh
echo $(java -jar loader.jar)
java -jar service.jar

然后两个罐子都可以工作。为什么我不能使用第一个脚本。对此高度赞赏的任何帮助。

第一个示例似乎被视为单行,您可以使用它。另外,我更喜欢 bash 而不是 /bin/sh。喜欢,

#!/usr/bin/env bash
java -jar loader.jar && java -jar service.jar