将 Windows Run.bat 转换为 Run.sh

将 Windows Run.bat 转换为 Run.sh
"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 javacommand -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 开头。

感谢大家

弗雷德

相关内容