Javaでシェルスクリプトに引数を渡す方法

Javaでシェルスクリプトを呼び出してパラメータを渡す方法はいくつかあります。次に一般的な方法を示します。

  1. java.lang.Runtimeクラスのexec()メソッドを使用してシェルコマンドを実行する。
  2. exec()メソッドにシェルスクリプトのコマンドと引数を渡す。

シェルスクリプトを呼び出し、引数を渡す方法の Java コードサンプルを次に示します。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ShellScriptExample {
public static void main(String[] args) {
try {
// 定义Shell脚本命令和参数
String[] cmd = { "sh", "/path/to/your/script.sh", "param1", "param2" };
// 执行Shell脚本
Process process = Runtime.getRuntime().exec(cmd);
// 读取Shell脚本输出
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待Shell脚本执行完成
int exitCode = process.waitFor();
System.out.println("Shell脚本执行完成,退出码:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}

上記サンプルコードでは、/path/to/your/script.sh を実際のシェルスクリプトパスに置き換えて、配列 cmd に必要な引数を渡します。そして、Runtime.exec() メソッドを使用してシェルスクリプトを実行します。シェルスクリプトの出力を BufferedReader で読み取り、シェルスクリプトの実行完了を待ちます。

LinuxあるいはMacでのみ上記サンプルが使用できる点に注意してください。Windowsで実行する場合は、シェルスクリプトコマンドと引数の形式を変更する必要があります。

bannerAds