我该如何执行Bash命令并从Java中收集输出?

7

我该如何在Java中执行Bash命令并收集输出?

大家好,我正在编写一个基本的控制台程序,希望能够从中运行命令,例如sudo***,halt,ifconfig等。

有什么建议吗?

2个回答

12

3
别忘了调用 processBuilder.redirectErrorStream(true)。或启动另一个线程来处理标准错误流(stderr)。 - Ron
我在“示例”中没有看到任何关于bash的提及。 - eis
3
示例链接失效。 - Zhiyong
1
你有另一个示例链接吗?或者有镜像站点吗? - Zanidd

3
未经测试的代码:
Runtime run = Runtime.getRuntime();
Process pr = run.exec(bashcommand);
pr.waitFor();
BufferedReader buf = new BufferedReader(new InputStreamReader(pr.getInputStream()));

while ( ( String line ; line = buf.readLine() ) != null ) 
{
  System.out.println(line);
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接