一尘不染

如何从Java代码运行Unix Shell脚本?

java

从Java运行Unix命令非常简单。

Runtime.getRuntime().exec(myCommand);

但是可以从Java代码运行Unix Shell脚本吗?如果是,从Java代码中运行Shell脚本是一个好习惯吗?


阅读 494

收藏
2020-02-26

共1个答案

一尘不染

你应该真正看一下Process Builder。它确实是为这种事情而构建的。

ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2");
 Map<String, String> env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory(new File("myDir"));
 Process p = pb.start();
2020-02-26