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

Posted 追极

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java执行shell脚本并输出执行情况相关的知识,希望对你有一定的参考价值。

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












以上是关于java执行shell脚本并输出执行情况的主要内容,如果未能解决你的问题,请参考以下文章

利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集

java调用shell脚本,并得到shell脚本的返回值

shell脚本调JAVA程序,获取JAVA程序返回值并echo输出

如何从 java 打开 matlab 会话并执行 matlab 脚本

如何在java中执行shell脚本

如何将一shell脚本中的每一步命令执行结果输出到指定日志文件中