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