首页 > 编程语言 > 详细

Java代码执行Linux命令

时间:2020-04-27 10:15:20      阅读:78      评论:0      收藏:0      [点我收藏+]

1.环境准备

在pom.xml里面添加打包依赖日志依赖

2.创建一个Test.java类,并添加如下代码。

import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Test {

    //创建日志log4j2对象
    static Logger log = LogManager.getLogger(Test.class.getName());

    public static void main(String[] args) throws IOException, InterruptedException {


        //执行的脚本命令(注意:加参数的话,.sh和参数之间保留一个空格)
        String cmd = "sh /data/test.sh " + args[0];
        log.info(cmd);//输出下命令
        Process proc = Runtime.getRuntime().exec(cmd);
        //获取脚本执行的得到的结果并缓存
        BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));

        String str;
        //读取数据
        while ((str = reader.readLine()) != null) {
            log.info(str);//打印结果
        }
        reader.close();
        proc.waitFor();

    }
}

3.执行package打包

4.将打包的文件通过ftp工具上传到linux服务器/data文件夹下

5.在/data文件夹下创建test.sh文件,并添加如下命令

echo "i am $1"

6.执行Jar包(它会调用test.sh,并将test.sh执行的结果存入日志)

[root@tuge1 data]# java -jar JavaMavenObj-1.0-SNAPSHOT-jar-with-dependencies.jar 测试下

技术分享图片

查看日志:

技术分享图片

Java代码执行Linux命令

原文:https://www.cnblogs.com/shuai7boy/p/12784669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!