栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java 执行linux命令 执行shell脚本 sh文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java 执行linux命令 执行shell脚本 sh文件

执行linux命令 简单版本
        Process process = Runtime.getRuntime().exec("sh /Users/bindo/test.sh" );
        InputStreamReader ips = new InputStreamReader(process.getInputStream());
        BufferedReader br = new BufferedReader(ips);
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

注:执行其它命令,直接输入命令即可,如果是.sh文件,则必须遵循格式: sh +shell脚本文件

封装版本
public static void executeOneMore(List commands) {
        Runtime run = Runtime.getRuntime();
        try {
            Process proc = run.exec("/bin/bash", null, null);
            BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);
            for (String line : commands) {
                out.println(line);
            }
            out.println("exit");// 结束命令
            String rspLine = "";
            while ((rspLine = in.readLine()) != null) {
                System.out.println(rspLine);
            }
            proc.waitFor();
            in.close();
            out.close();
            proc.destroy();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }


public static void main(String[] args) throws IOException {
        List commands= new ArrayList<>();
        commands.add("pwd");
        commands.add("cd ~");
        // 执行shell脚本,必备sh命令
        commands.add("sh ./test.sh");
        executeOneMore(commands);
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1016674.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号