这个问题在这里已经有了答案:




8年前关闭。






以下代码:

ProcessBuilder pb = new ProcessBuilder(new String[] {"echo", "some text", ">", "test"});

不断返回“some text > test ”。

我究竟做错了什么?

编辑:

这有效
ProcessBuilder pb = new ProcessBuilder(new String[] {"bash", "-c", "echo sometext > test"});

最佳答案

尝试以下

    ProcessBuilder pb =
new ProcessBuilder("cmd.exe", "/c" ,"echo", "some text", ">", "test");
这是用于 窗口
实际上,'Echo' 不是命令,它是 Windows 中的 shell(cmd.exe)的内部命令,也不是 linux unix 中的“bash”。所以,对于 Unix/Linux
    ProcessBuilder pb =
new ProcessBuilder("bash", "-c","echo \"some text\" >test");

关于java - 通过 Java 将 echo 的输出重定向到文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14561489/

10-12 23:55