从java向终端发送带有空格的命令
我正在开发一个java程序,需要调用一个以字符串作为参数的bash脚本。因此,我编写了代码:从java向终端发送带有空格的命令,java,linux,bash,runtime.exec,Java,Linux,Bash,Runtime.exec,我正在开发一个java程序,需要调用一个以字符串作为参数的bash脚本。因此,我编写了代码: Process p = Runtime.getRuntime().exec("./script \"message send\""); 但似乎终端没有将引号(“)识别为引号,并将术语“message send”称为两个参数:“message and send”,因此脚本没有被正确调用 有人知道我能做什么吗?您可以使用ProcessBuilder执行此操作 ProcessBuilder processB
Process p = Runtime.getRuntime().exec("./script \"message send\"");
但似乎终端没有将引号(“)识别为引号,并将术语“message send”称为两个参数:“message and send”,因此脚本没有被正确调用
有人知道我能做什么吗?您可以使用ProcessBuilder执行此操作
ProcessBuilder processBuilder = new ProcessBuilder();
p.command("cmd_to_run", "args_if_any");
p.start();
ProcessBuilder
使用命令会更容易。