首页 新闻 会员 周边 捐助

java在linux上调用sh文件的写法该怎么写

0
悬赏园豆:80 [已解决问题] 解决于 2017-02-15 08:47

不知道该怎么写 跪求详细代码   谢谢大神们了!!!!!!!

Halo0513的主页 Halo0513 | 初学一级 | 园豆:9
提问于:2017-02-10 09:03
< >
分享
最佳答案
0

Runtime r = Runtime.getRuntime();
Process p = r.exec(cmds);
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String resultString = "";
String inline;
while (null != (inline = br.readLine())) {
resultString += inline + "\r";
}
br.close();
in.close();

 

程序里面cmds是一个字符串数组,数组里面就是要执行的脚本 ,使用数组表示一次可以执行多个脚本,如果不是执行多个脚本也可以不用数组,直接写要执行的脚本命令的字符串。resultString 是脚本的执行结果,如果脚本执行完没有输出的话,头两行code就可以了。

收获园豆:40
young.dong | 菜鸟二级 |园豆:244 | 2017-02-10 11:10

cmds可以直接写要执行的命令吗

Halo0513 | 园豆:9 (初学一级) | 2017-02-10 11:25

也就是说shell文件的内容

Halo0513 | 园豆:9 (初学一级) | 2017-02-10 11:25

@Yuxiang_Chen: 如果不是执行多个脚本也可以不用数组,直接写要执行的脚本命令的字符串

young.dong | 园豆:244 (菜鸟二级) | 2017-02-10 14:09

表示蒙蔽了😈

情同陌路 | 园豆:200 (初学一级) | 2017-02-11 17:35

@young.dong: 为什么我写字符串他一直是把字符串当做一个路径去查找呢

Halo0513 | 园豆:9 (初学一级) | 2017-02-14 14:17
其他回答(4)
1
收获园豆:40
dudu | 园豆:30948 (高人七级) | 2017-02-10 09:25

我只是简单的调用一个文件  没有这么复杂吧  这个我也看不懂啊

支持(0) 反对(0) Halo0513 | 园豆:9 (初学一级) | 2017-02-10 09:44
0

java -jar xxx.jar  这样么?

疯狂的肉包 | 园豆:202 (菜鸟二级) | 2017-02-10 16:24

是的

支持(0) 反对(0) Halo0513 | 园豆:9 (初学一级) | 2017-02-13 09:21
0
ProcessBuilder pb = new ProcessBuilder("src/lexparser.sh", "myArg1", "myArg2");//含参数
 Process p = pb.start();
 BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));
 String line = null;
 while ((line = reader.readLine()) != null)
 {
    System.out.println(line);
 }

 

CaiYongji | 园豆:1267 (小虾三级) | 2017-02-13 10:46
0

谢谢大家了,命令本身存在问题  已经解决掉了

Halo0513 | 园豆:9 (初学一级) | 2017-02-15 08:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册