欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java执行shell脚本并输出执行情况

程序员文章站 2022-04-10 15:19:17
1.脚本test.sh,置于/Users/hdwang目录下 2.java执行test.sh 3.执行结果 ls:App Applications Desktop Documents Downloads Library Movies Music Pictures Projects Public a. ......

1.脚本test.sh,置于/Users/hdwang目录下

#!/bin/sh

cd /Users/hdwang
echo ls:`ls`

for((i=1;i<=10;i++));
do
echo $(expr $i \* 3 + 1);
sleep 1s
done

echo jps:`jps -l`

2.java执行test.sh

public class ExecShell {

    public static void main(String[] args) {

        try {
            Process pro = Runtime.getRuntime().exec("/Users/hdwang/test.sh");
            InputStream in = pro.getInputStream();
            BufferedReader read = new BufferedReader(new InputStreamReader(in));
            String line = null;
            while((line = read.readLine())!=null){
                System.out.println(line);
            }

            pro.waitFor();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

3.执行结果

ls:App Applications Desktop Documents Downloads Library Movies Music Pictures Projects Public a.html c curl.txt java_error_in_idea.hprof mavenRepo nginx配置 res sessiontmp test.sh 记录.txt 机器配置环境等 机器配置环境等.zip
4
7
10
13
16
19
22
25
28
31
jps:11617 sun.tools.jps.Jps 11592 org.jetbrains.jps.cmdline.Launcher 10633 org.jetbrains.jps.cmdline.Launcher 11593 com.hdwang.ExecShell 10539 com.hzxc.chess.server.Booter 555