扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java鎬庝箞璋冪敤shell鑴氭湰

扬州沐宇科技
2024-01-22 11:02:20
Java, shell

Java鍙互閫氳繃Runtime绫绘垨ProcessBuilder绫绘潵璋冪敤Shell鑴氭湰銆?/p>

  1. 浣跨敤Runtime绫昏皟鐢⊿hell鑴氭湰锛?/li>
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class RunShellScript {
    public static void main(String[] args) {
        try {
            // 璋冪敤Shell鑴氭湰鐨勫懡浠?/span>
            String command = "sh /path/to/script.sh";

            // 鎵цShell鑴氭湰
            Process process = Runtime.getRuntime().exec(command);

            // 鑾峰彇Shell鑴氭湰鐨勮緭鍑虹粨鏋?/span>
            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鑴氭湰鎵ц瀹屾垚锛岄€€鍑虹爜锛?quot; + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}
  1. 浣跨敤ProcessBuilder绫昏皟鐢⊿hell鑴氭湰锛?/li>
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鑴氭湰鐨勫懡浠?/span>
            List<String> command = List.of("sh", "/path/to/script.sh");

            // 鍒涘缓ProcessBuilder瀵硅薄锛屽苟璁剧疆鍛戒护
            ProcessBuilder processBuilder = new ProcessBuilder(command);

            // 璁剧疆宸ヤ綔鐩綍
            processBuilder.directory(null); // 璁剧疆涓簄ull琛ㄧず浣跨敤褰撳墠宸ヤ綔鐩綍

            // 鎵цShell鑴氭湰
            Process process = processBuilder.start();

            // 鑾峰彇Shell鑴氭湰鐨勮緭鍑虹粨鏋?/span>
            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鑴氭湰鎵ц瀹屾垚锛岄€€鍑虹爜锛?quot; + exitCode);
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

娉ㄦ剰锛氬湪璋冪敤Shell鑴氭湰鏃堕渶瑕佹牴鎹疄闄呮儏鍐垫浛鎹?code>/path/to/script.sh涓哄疄闄呯殑Shell鑴氭湰鏂囦欢璺緞銆?/p>

扫码添加客服微信