Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I execute Bash commands and collect the output from Java?

How do I execute Bash commands and collect the output from Java?

Hi all, basically I am writing a basic console app, and would like to be able to run commands from it, such as sudo***, halt, ifconfig, etc.

Any insight?.

like image 595
Jack H Avatar asked Feb 03 '11 18:02

Jack H


2 Answers

You can use processBuilder API for this purpose. See this example.

like image 150
cheekoo Avatar answered Nov 10 '22 03:11

cheekoo


untested code:

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);
}
like image 45
CloudyMarble Avatar answered Nov 10 '22 02:11

CloudyMarble