Linux下实现JAVA程序调用系统命令及脚本

一个简单的例子

前提准备

Linux 环境+jdk环境

 

vim TestLinux.java

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

public class TestLinux {
    public static void main(String[] args) {
        try {

            Process process = Runtime.getRuntime().exec( "ls -l");
            InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String line  ;
            while ((line=bufferedReader.readLine())!=null){
                System.out.println(line);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

写完后用javac TestLinux.java  编译下

编译成功后当前目录下会有TestLinux.class 编译后的文件

java TestLinux 即可看到 Linux系统下直接执行“ls -l”命令的结果

 

执行shell脚本

随便写一个shell脚本

vim  hello

脚本内容:

#!/bin/bash
echo "hello"

写完后 记得赋权脚本可执行权限

编写java TestLinux2程序

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

public class TestLinux2 {
    public static void main(String[] args) {
        try {
            String[]cmd =new String[]{"/bin/sh","-c","./hello"};
            Process process = Runtime.getRuntime().exec( cmd);
            InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream());
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            String line  ;
            while ((line=bufferedReader.readLine())!=null){
                System.out.println(line);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
~        

一样的流程 编译后运作 即可看到系统执行hell脚本的结果

 

一个简单的案例 记录下 ~ 3 ~

posted @ 2020-04-27 13:31  D·Felix  阅读(436)  评论(0编辑  收藏  举报