我正在从 Java 程序执行一个 shell 脚本。我已经使用 Runtime 类实现了它。下面是我实现的代码
final StringBuilder sb = new StringBuilder("test.sh");
sb.append("/path to/my/text file");
final Process p = Runtime.getRuntime().exec(sb.toString());
这里 sb 是字符串缓冲区对象,我在其中附加参数并在 exec 方法中使用它。但问题是我传递的参数“/path to/my/text file”被认为是4个参数
/path
to
/my/text
file
但是如果在 shell 中作为 test.sh "/path to/my/text file" 运行,它被视为单个参数。如何使用 Java 代码实现相同的目标,我需要将带有空格的路径视为单个参数。任何请都会非常可观。