从java向终端发送命令,其中包含空格

时间:2014-10-21 21:36:14

标签: java linux bash runtime.exec

我正在开发一个java程序,我需要调用一个以字符串作为参数的bash脚本。所以我写了代码:

Process p = Runtime.getRuntime().exec("./script \"message send\"");

但似乎终端没有将引号(")识别为引号,并且引用了术语"消息发送"作为两个参数:" message和send",因此脚本没有被正确调用。

任何人都知道我能做什么?

1 个答案:

答案 0 :(得分:2)

您可以使用ProcessBuilder执行此操作。

ProcessBuilder processBuilder = new ProcessBuilder();
p.command("cmd_to_run", "args_if_any");
p.start();