どのようにしてBashコマンドを実行し、Javaから出力を収集しますか?Bashコマンドを実行してJavaから出力を収集するにはどうすればよいですか?
こんにちはすべて、基本的に私は、基本的なコンソールアプリケーションを書いています、そして、そのようなsudoのように、そこからコマンドを実行できるようにしたいと思い***、停止、ifconfigコマンドなど
任意の洞察力?。
どのようにしてBashコマンドを実行し、Javaから出力を収集しますか?Bashコマンドを実行してJavaから出力を収集するにはどうすればよいですか?
こんにちはすべて、基本的に私は、基本的なコンソールアプリケーションを書いています、そして、そのようなsudoのように、そこからコマンドを実行できるようにしたいと思い***、停止、ifconfigコマンドなど
任意の洞察力?。
この目的では、processBuilder APIを使用できます。 this exampleを参照してください。
未テストコード:
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);
}
の例では、それをすべて言います。 – extraneon
processBuilder.redirectErrorStream(true)を呼び出すことを忘れないでください。または、別のスレッドをスピンアップしてstderrを排出します。 – Ron
"example"にbashの記載がありません – eis