Java クラスからシェル スクリプト (.sh) を実行したいと考えています。
これを達成するための最も効率的で最速の方法はどれですか?
groovy を使用して、このスクリプトを Java から直接実行する方が良いですか、それとも別の方法がありますか?
プロセス ビルダーを使用して、スクリプトを作成して実行するだけです。
ProcessBuilder processBuilder = new ProcessBuilder("script.sh", "arg1", "arg2"); //Add more arguments as needed
processBuilder.directory(new File("scriptDir")); //Set the working directory, if needed
Process process = processBuilder.start();
次の呼び出しを実行することもできますRuntime.exec()
。
Process process = Runtime.getRuntime().exec("script.sh");
個人的には最初のアプローチを使用します。これにより、引数、作業ディレクトリ、環境変数などを、単なるexec()
呼び出しよりもはるかにクリーンで簡単な方法で設定できます。