我正在尝试使用 Java 在 Linux(Ubuntu) 中执行 shell 脚本并尝试将输出重定向到另一个文件。
String cmd[] = {"sh", "-c", "my_dir/script.sh > new_dir/out.txt"};
Process pb = Runtime.getRuntime().exec(cmd);
但是这我们不能正常工作。我无法将输出存储在 out.txt 文件中。 有人可以建议一种正确执行此操作的方法吗?
最佳答案
使用 ProcessBuilder
.我认为不需要产生额外的 sh
。类似的东西,
ProcessBuilder pb = new ProcessBuilder("my_dir/script.sh");
pb.redirectOutput(new File("new_dir/out.txt"));
Process p = pb.start();
应有尽有。
关于java - 如何使用 Java 重定向 shell 脚本的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49104905/