如何让java在Mac上运行命令?我看到一些复杂的命令的例子,是很难遵循的。如果我想从java中运行一个简单的echo命令,我该怎么做?还没有使用osascript。只是想看看如何从java发送回声到终端。
public static void main(String[] args) throws IOException {
ProcessBuilder x = new ProcessBuilder("echo"," hi");
x.start();
}
这是我试过的代码,但它没有工作.我想这个问题可以帮助那些试图学习ProcessBuilder基础知识的人。
我在Windows上,所以下面的代码使用Windows echo
. 我希望你知道Mac echo命令,这样你就可以用你的命令代替我的命令。
import java.io.IOException;
import java.lang.ProcessBuilder;
public class PrcBldT2 {
public static void main(String[] args) {
// This command is for Windows operating system.
// For MacOS, try: new ProcessBuilder("echo", "hi")
ProcessBuilder pb = new ProcessBuilder("cmd.exe", "/c", "echo", "hi");
pb.redirectError(ProcessBuilder.Redirect.INHERIT);
pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
try {
Process p = pb.start();
int result = p.waitFor();
System.out.println("Exit status = " + result);
}
catch (IOException | InterruptedException x) {
x.printStackTrace();
}
}
}
注意,命令中的每个字都是一个独立的字符串。在 echo
命令输出将被重定向到 System.out
.