中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

java怎么調用shell腳本

小億
120
2024-01-22 11:02:20
欄目: 編程語言

Java可以通過Runtime類或ProcessBuilder類來調用Shell腳本。

  1. 使用Runtime類調用Shell腳本:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class RunShellScript {
    public static void main(String[] args) {
        try {
            // 調用Shell腳本的命令
            String command = "sh /path/to/script.sh";

            // 執行Shell腳本
            Process process = Runtime.getRuntime().exec(command);

            // 獲取Shell腳本的輸出結果
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 等待執行完成
            int exitCode = process.waitFor();
            System.out.println("Shell腳本執行完成,退出碼:" + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
  1. 使用ProcessBuilder類調用Shell腳本:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;

public class RunShellScript {
    public static void main(String[] args) {
        try {
            // 調用Shell腳本的命令
            List<String> command = List.of("sh", "/path/to/script.sh");

            // 創建ProcessBuilder對象,并設置命令
            ProcessBuilder processBuilder = new ProcessBuilder(command);

            // 設置工作目錄
            processBuilder.directory(null); // 設置為null表示使用當前工作目錄

            // 執行Shell腳本
            Process process = processBuilder.start();

            // 獲取Shell腳本的輸出結果
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }

            // 等待執行完成
            int exitCode = process.waitFor();
            System.out.println("Shell腳本執行完成,退出碼:" + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

注意:在調用Shell腳本時需要根據實際情況替換/path/to/script.sh為實際的Shell腳本文件路徑。

0
汉中市| 隆昌县| 延安市| 乳山市| 富顺县| 徐闻县| 方山县| 兰西县| 洱源县| 衡南县| 论坛| 蕲春县| 友谊县| 长宁县| 疏勒县| 铜陵市| 永仁县| 米林县| 温宿县| 雷山县| 麦盖提县| 修武县| 金平| 屏南县| 博兴县| 招远市| 濮阳市| 遵化市| 阿拉尔市| 桂林市| 靖江市| 连南| 黄平县| 衢州市| 泽普县| 当涂县| 汶川县| 永吉县| 蕉岭县| 祥云县| 秀山|