如何在Ubuntu中打开终端并使用Java代码将参数传递给它?

时间:2014-05-17 21:55:57

标签: java ubuntu

我正在使用Ubuntu而我只想从Java打开终端并执行此命令make iris sim。之后,保持终端打开,直到用户点击任意键。

这是我的代码,但它无法正常工作:

String []commands= {"make", "iris", "sim"};
String[] cmdArray = {"/usr/bin/xterm", "-e"};
Process p = Runtime.getRuntime().exec(cmdArray, commands);

1 个答案:

答案 0 :(得分:3)

您正在使用exec命令错误。第二个参数不是"命令"的数组。但是一系列环境变量。请参阅JavaDocs

相反,只需调用您的命令:

Process p = Runtime.getRuntime().exec("/usr/bin/xterm -e make iris sim");

请注意,这将创建一个新流程。如果您要等待此流程调用p.waitFor();