码迷,mamicode.com
首页 > 编程语言 > 详细

java调用shell脚本且传递参数

时间:2017-04-01 14:15:45      阅读:821      评论:0      收藏:0      [点我收藏+]

标签:java调用shell脚本且传递参数

在最近的工作中,需要用到Java要调用shell脚本的情况。总结如下:


    @RequestMapping("/changePermission")

public String changePermission(){

String returnCode = "";

try {

Process process = Runtime.getRuntime().exec("chmod 755 /tmp/upgrade.sh");

process.waitFor();

                // test2.sh是要执行的shell文件,param1参数值,test2.sh和param1之间要有空格

                // 多个参数可以在param1后面继续增加,但不要忘记空格!!

process = Runtime.getRuntime().exec(new String[]{"/bin/sh","-c","/tmp/test2.sh param1"});

BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));

String line = null;

StringBuffer sb = new StringBuffer("");

while((line=br.readLine()) != null){

sb.append(line);

}

br.close();

System.out.println(sb.toString());

returnCode = process.waitFor()+"";

} catch (IOException e) {

e.printStackTrace();

} catch (InterruptedException e) {

e.printStackTrace();

}

return returnCode;

}

shell脚本test2.sh代码如下:

#!/bin/bash

name=$1

echo $name

mv /usr/local/upgrade.sh /usr/local/${name}.sh


java调用shell脚本且传递参数

标签:java调用shell脚本且传递参数

原文地址:http://gz521.blog.51cto.com/4115318/1912304

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!