java - 如何使用 Java 重定向 shell 脚本的输出?

标签 java linux bash shell sh

我正在尝试使用 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/

相关文章:

java - 如何在Android中显示不同大小的文字,例如Office或Google Docs的功能

java - 卡在 Jsoup 解析 Html 中

php - 在 Centos 5.5 上安装 phpMyAdmin

c++ - 使用PST SDK编译错误

java - 在 Java 中运行 Bash 命令

linux - 在没有临时文件的情况下使用命令的输出作为 `paste` 输入

python - 如何为 python 3 安装所有 python 2 包?

java - 使用搜索 View 在 recyclerview 中过滤 ListItem 不起作用

java - 在哪里可以找到 com.ibm.ws.logging.object.hpel.WsLogRecord

node.js - 如何让更新的 node.js 版本在 Beaglebone Black ARMv7 板上运行?