溫馨提示×

java怎么執(zhí)行shell腳本

小億
233
2023-12-11 10:55:32
欄目: 編程語言

在Java中執(zhí)行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 {
            // 創(chuàng)建ProcessBuilder對象,并指定要執(zhí)行的shell腳本命令
            ProcessBuilder pb = new ProcessBuilder("sh", "/path/to/your/script.sh");
            
            // 可選:設(shè)置命令執(zhí)行的工作目錄
            pb.directory(new File("/path/to/your/directory"));
            
            // 啟動進(jìn)程并執(zhí)行shell腳本命令
            Process process = pb.start();
            
            // 獲取命令執(zhí)行的輸出流
            InputStream inputStream = process.getInputStream();
            
            // 使用BufferedReader讀取輸出流內(nèi)容
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
            
            // 等待命令執(zhí)行完成
            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為您要執(zhí)行的實際腳本的路徑。

0