java调用shell脚本且传递参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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脚本且传递参数的主要内容,如果未能解决你的问题,请参考以下文章
如何调用 shell 脚本并从另一个 shell 脚本传递参数
shell调用python脚本,并且向python脚本传递参数