1、如果是java程序执行shell脚本,那么在适当的地方加入下面的这段代码:(其中PATH是脚本所在目录,shellname.sh是所要执行的脚本名字)
1. try {
2. execCommand(". PATH/shellname.sh");
3. } catch (IOException e) {
4. // TODO Auto-generated catch block
5. e.printStackTrace();
6. }
7. }
8.
9. execCommand方法的实现如下:
10. public void execCommand(String command) throws IOException {
11.
12. Runtime runtime = Runtime.getRuntime();
13. Process proc = runtime.exec(command); //这句话就是shell与高级语言间的调用
14.
15. //使用exec执行不会等执行成功以后才返回,它会立即返回
16. //所以在某些情况下是很要命的(比如复制文件的时候)
17. //使用wairFor()可以等待命令执行完成以后才返回
18. try {
19. if (proc.waitFor() != 0) {
20. System.err.println("exit value = " + proc.exitValue());
21. }
22. }
23. catch (InterruptedException e) {
24. System.err.println(e);
25. }
26.
即可。