@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 |