我有一个 shell 命令 my_command
接受管道作为输入,例如
echo "test" | my_command param1 param2
我尝试过这个:
cmd.add("echo");
cmd.add( "test");
cmd.add("| my_command");
cmd.add(param1);
cmd.add(param2);
但是我没有得到想要的结果。 cmd
是使用 ArrayList
声明的列表。谢谢
最佳答案
ProcessBuilder 只能运行程序,但 echo 不是程序,而是 cmd(在 Windows 中)命令之一。您应该在 Java 中运行 cmd/c echo ...
关于Java ProcessBuilder 管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21201873/