从 Java 执行 Unix Shell 脚本
在 Java 中,可以使用 Runtime.getRuntime().exec(myCommand 执行 Unix 命令) 方法。但是,执行整个 Unix shell 脚本会带来额外的注意事项。
使用 Process Builder
从 Java 运行 shell 脚本的推荐方法是使用 ProcessBuilder 类。它提供了一种更通用的机制来构建和执行 shell 脚本。
示例:
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();
在此示例中,创建并配置了一个新的 ProcessBuilder 实例。使用两个参数(“myArg1”和“myArg2”)调用“myshellScript.sh”shell 脚本。另外,通过添加“VAR1”和调整“VAR2”来修改环境变量。工作目录设置为“myDir”。
使用 Process Builder 的好处
允许对执行环境进行更精细的控制,包括:
以上是如何从 Java 有效执行 Unix Shell 脚本?的详细内容。更多信息请关注PHP中文网其他相关文章!