首页主机资讯java怎么调用shell脚本

java怎么调用shell脚本

时间2024-01-22 16:22:04发布访客分类主机资讯浏览1077
导读:Java可以通过Runtime类或ProcessBuilder类来调用Shell脚本。 使用Runtime类调用Shell脚本: import java.io.BufferedReader; import java.io.IOExcep...

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脚本的命令
            ListString>
     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脚本文件路径。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: java怎么调用shell脚本
本文地址: https://pptw.com/jishu/583108.html
django中间件的作用是什么 java list排序的方法有哪几种

游客 回复需填写必要信息