温馨提示×

java怎么执行shell脚本

小亿
257
2023-12-11 10:55:32
栏目: 编程语言

在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为您要执行的实际脚本的路径。

0