【发布时间】:2014-12-18 02:57:31
【问题描述】:
我需要从 Java 执行以下脚本并能够在控制台上查看结果。但是 echo 语句在控制台上不可见。在网上花了一些时间后,我明白我需要控制输入输出流才能做到这一点。但我没有获得使这成为可能所需的信息。
我在下面发布了脚本和 Java 语句:
脚本:
#!/bin/sh
echo "Hello World"
echo "$1 $2"
exit 0
Java 代码:
List<String> command = new ArrayList<String>();
command.add("sh");
command.add("sript.sh");
command.add("Technopath007");
command.add("Dennis");
ProcessBuilder builder = new ProcessBuilder(command);
Process process = builder.start();
BufferedReader is = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = is.readLine()) != null)
System.out.println(line);
关于该主题的现有线程似乎不起作用。
请让我知道我在这里缺少什么。提前致谢。
【问题讨论】:
-
你能展示你实际使用的代码,而不仅仅是它复制的代码吗?
-
前两个代码 sn-ps 是我正在使用的.. 我已经相应地编辑了问题
-
可能是您调用了错误的脚本或从另一个工作目录调用?如果发生这种情况,您可能不会在输出流上得到任何东西,只会在错误流上得到任何东西。
标签: java shell inputstream outputstream processbuilder