Как выполнить команды Bash и собрать выходные данные из Java? - PullRequest
7 голосов
/ 03 февраля 2011

Как мне выполнить команды Bash и собрать выходные данные из Java?

Привет всем, в основном я пишу базовое консольное приложение и хотел бы иметь возможность запускать из него такие команды, как sudo ***, halt, ifconfig и т. Д.

Есть идеи?

Ответы [ 2 ]

13 голосов
/ 03 февраля 2011

Для этой цели вы можете использовать processBuilder API.См. этот пример .

3 голосов
/ 03 февраля 2011

непроверенный код:

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);
}
...