【发布时间】:2023-03-11 08:16:01
【问题描述】:
我正在尝试使用 java processbuilder 执行以下命令
ls | xargs cat > pathtonewFile
目前我的代码是
String command="ls | xargs cat >t"
ProcessBuilder probuilder = new ProcessBuilder(command);
probuilder.start()
目前执行没有错误,但没有创建新文件。
我根据此处的另一篇帖子尝试过以下操作:Problem Using Java ProcessBuilder to Execute a Piped Command
ProcessBuilder probuilder = new ProcessBuilder("sh", "-c", "ls | xargs cat > pathtonewfile");
命令执行但创建一个 0 字节文件。
【问题讨论】:
-
令我震惊的是,这个问题很可能出在您正在执行的命令中。尝试从 shell 提示符运行相同的命令。一种可能性是该命令正在使用错误的当前目录运行。
标签: java linux shell command-line execute