在Java中執行shell腳本可以使用Java的ProcessBuilder
類。下面是一個簡單的例子:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class ShellScriptExecutor {
public static void main(String[] args) {
try {
// 創建ProcessBuilder對象,并指定要執行的shell腳本命令
ProcessBuilder pb = new ProcessBuilder("sh", "/path/to/your/script.sh");
// 可選:設置命令執行的工作目錄
pb.directory(new File("/path/to/your/directory"));
// 啟動進程并執行shell腳本命令
Process process = pb.start();
// 獲取命令執行的輸出流
InputStream inputStream = process.getInputStream();
// 使用BufferedReader讀取輸出流內容
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令執行完成
int exitCode = process.waitFor();
// 輸出命令的退出碼
System.out.println("Exit Code: " + exitCode);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
請注意替換示例中的/path/to/your/script.sh
為您要執行的實際腳本的路徑。