如果我想java --jar sample.jar
从命令行启动一个 java 可执行文件,我该如何编写 bash 脚本?以下不起作用
#!/usr/bin/java
--jar $HOME/tools/sample.jar
#!/bin/sh
java --jar $HOME/tools/sample.jar
Java 不是解释器,只能在 shebang( #!
)中使用脚本解释器
为了完整起见,无论如何您都不能以这种方式将参数传递给解释器。
“正确”但仍然错误的方式本来是
#!/usr/bin/java --jar
$HOME/tools/sample.jar
我不完全清楚,但维基百科暗示第二种方法可能只是工作..
但是,由解释器决定是否忽略 shebang 行;因此,由以下两行组成的脚本在运行时简单地将这两行回显到标准输出:
#!/bin/cat
Hello world!
#!/bin/bash
exec java -jar /path/to/jar/the-file.jar "$@"
使用$@将bash 参数传递给 jar 文件