![将 Windows Run.bat 转换为 Run.sh](https://linux22.com/image/1150321/%E5%B0%86%20Windows%20Run.bat%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20Run.sh.png)
"c:\program files\java\jdk1.8.0_75\bin\java.exe" -noverify -Xbootclasspath/a:"LSA.jar";"lib/bcel-5.2.jar";"lib/rsyntax.jar";"client.jar" -javaagent:"LSA.jar"=config.js -jar client.jar
我有一个想在 Ubuntu 中运行的程序。这是我在 Windows 中一直使用的 run.bat 脚本。
为了使客户端文件正常工作,我理解
java -jar client.jar
但为了让一切正常,我不明白如何替换"c:\program files\java\jdk1.8.0_75\bin\java.exe"
。
答案1
运行命令which java
或command -v java
您将获得类似以下输出:
/usr/bin/java
这意味着它被安装用来java
代替c:\program files\java\jdk1.8.0_75\bin\java.exe
。
#!/bin/bash
在该文件的顶部。
答案2
如果 java 在您的 PATH 中,您可以直接输入“java”(无需使用 找出它在哪里which
)。如果不在,您必须找出您的(非标准)安装将它放在哪里,然后只需使用该路径即可找到 java 程序(which
等等在这里对您没有帮助)。
请注意,您可能还需要将类路径中的分号替换为冒号,这是 *nix 风格。我可以想象 Linux java 不处理分号。
答案3
您必须查看您的机器中安装了哪种 Java 版本。输入以下内容进行识别:
update-alternatives --query java
在我的计算机中,我发现了这些(例如):
~$ update-alternatives --query java
Name: java
Link: /usr/bin/java
Slaves:
java.1.gz /usr/share/man/man1/java.1.gz
Status: auto
Best: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Value: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Alternative: /opt/dev/jdk1.8.0_131/bin/java
Priority: 100
Slaves:
Alternative: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Priority: 1081
Slaves:
java.1.gz /usr/lib/jvm/java-8-openjdk-amd64/jre/man/man1/java.1.gz
您可以选择最佳(通常是优先级最高)的 javapath,以便您可以基于它构建脚本。
答案4
感谢大家的帮助,我确实需要替换分号并使用
java -jar 开头。
感谢大家
弗雷德