如何从 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
我正在尝试 运行 在我的 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