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远程另一台主机执行命令并返回命令的结果集
shell脚本调JAVA程序,获取JAVA程序返回值并echo输出