在Java程序中执行bash命令

自寻找以来已经有一段时间了,但找不到解决方案。我试图在.jar文件中的Linux上执行bash命令。为此,我尝试了很多事情,包括:

Process p = new ProcessBuilder("java", "-jar", "M1_MIAGE_PDL_VIZ_GROUPE3.jar", "menu").start();

Runtime.getRuntime().exec("/bin/sh -c java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar menu");

Runtime.getRuntime().exec(new String[]{"/bin/sh -c", "java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar menu"});

因此,当我单击.jar文件时,我希望程序打开bash并执行命令(java -jar …),以执行程序的另一部分。

关于如何做的任何想法?

回答:

要了解这一点,您首先需要了解如何在shell提示符下运行该命令。

$ sh -c "java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar menu"

请注意双引号在哪里。第一个参数是-c。第二个参数是引号内的内容。即java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar

menu

现在,我们将其转换为Java

Process p = new ProcessBuilder(

"/bin/sh",

"-c",

"java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar menu").start();

话虽如此,以上实际上并没有取得任何成就。当然,它不会打开新的控制台窗口来显示控制台输出等。与Windows“ CMD.exe”不同,UNIX /

Linux外壳不提供控制台/终端功能。为此,您需要使用“终端”应用程序。

例如,如果您使用的是GNOME

Process p = new ProcessBuilder(

"gnome-terminal",

"-e",

"java -jar M1_MIAGE_PDL_VIZ_GROUPE3.jar menu").start();

将(可能)做您想做的事情。

以上是 在Java程序中执行bash命令 的全部内容, 来源链接: utcz.com/qa/417724.html

回到顶部