【发布时间】:2013-12-05 17:46:58
【问题描述】:
我是编程新手。我为 ProcessBuilder 创建了一个字符串列表。 ProcessBuilder 正在执行字符串列表中的一个命令(并成功写入了我要求写入的文件),但不执行下一个字符串命令。代码如下:
List<String> vsArrays = new ArrayList<String>();
vsArrays.add("/bin/sh");
vsArrays.add("-c");
vsArrays.add("echo '123' > ~/1.rad");
vsArrays.add("echo '123' > ~/2.rad");
vsArrays.add("echo '123' > ~/3.rad");
for (String s : vsArrays){
system.out.println(s);
}
ProcessBuilder proc = new ProcessBuilder(vsArrays);
Process start = proc.start();
start.waitFor();
第一个文件(名为 1.rad)是在主 (~) 目录中创建的,但以下文件不是。尽管我设法通过使用文件中的redirectInput 来执行下一个命令(并写入其他文件),但我不想为redirectInput 创建一个单独的文件。您能否回答为什么没有执行下一个命令(来自字符串列表)?谢谢!
【问题讨论】:
标签: java bash processbuilder