使用 Runtime.exec() 执行管道命令
尽管存在固有的跨平台挑战,但 Runtime.exec() 方法提供的功能有限支持 Java 中的管道。以下是如何利用它:
选项 1:利用 Shell 脚本
根据答案中的建议,您可以创建一个封装管道命令的中间脚本。例如:
#! /bin/sh ls /etc | grep release
然后通过 Runtime.exec() 执行此脚本:
Process process = Runtime.getRuntime().exec(new String[] {"/path/to/script"});
选项 2:显式传递管道命令
要绕过 shell,您可以在 Runtime.exec() 参数中提供管道命令array:
String[] cmd = { "/bin/sh", "-c", "ls /etc | grep release" }; Process process = Runtime.getRuntime().exec(cmd);
这确保使用显式命令调用 shell 并相应地执行它们。
以上是如何使用 Java 的 Runtime.exec() 执行管道命令?的详细内容。更多信息请关注PHP中文网其他相关文章!