在Java中調用Shell腳本并傳遞參數有多種方法,以下是其中一種常見的方法:
使用java.lang.Runtime
類的exec()
方法來執行Shell命令。
在exec()
方法中傳遞Shell腳本命令和參數。
下面是一個示例代碼,演示如何在Java中調用Shell腳本并傳遞參數:
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
替換為實際的Shell腳本路徑,并在數組cmd
中傳遞所需的參數。然后,使用Runtime.exec()
方法執行Shell腳本。通過BufferedReader
讀取Shell腳本的輸出,并等待Shell腳本執行完成。
請注意,上述示例僅適用于Linux或Mac系統,如果在Windows系統上運行,需要更改Shell腳本命令和參數的格式。