/ bin / sh -c不使用流程构建器

时间:2017-12-01 22:20:20

标签: java processbuilder

我正在尝试通过流程构建器运行以下命令: ls -lrt my-directory |尾巴-1

我在传入时使用bin / sh -c但是无法以任何方式让它工作。(我的自定义目录取决于函数并以字符串形式传入)

 process builder("/bin/sh", "-c", "ls -lrt ", customDir, " | tail -1");

这给出了我运行程序的目录的内容。它好像我只是输入ls(甚至不是ls -lrt)。

两者

 String temp = "ls -lrt " + customDir + " | tail -1";
 process builder("/bin/sh ", "-c " temp);

 String temp = "ls -lrt " + customDir;
 process builder("/bin/sh ", "-c " temp, " | tail -1");

说即使我知道该目录也不存在。删除/ bin / sh -c只是给我一个错误,说它无法理解我理解的ls -lrt命令。但我根本不知道如何让它产生实际结果,如果我单独输入这个命令。

编辑:问题不在于我是如何调用流程构建器的。我将内容发送到另一个函数,该函数正确调用流程构建器并中继其输出。为简单起见,我只是在示例中说了流程构建器(...)。

0 个答案:

没有答案