Android shell 脚本执行

2019-04-14 16:15发布

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.         Runtime runtime = Runtime.getRuntime();  
  12.         Process proc = runtime.exec(command);        //这句话就是shell与高级语言间的调用

  13.         //使用exec执行不会等执行成功以后才返回,它会立即返回
  14.         //所以在某些情况下是很要命的(比如复制文件的时候)
  15.         //使用wairFor()可以等待命令执行完成以后才返回
  16.         try {
  17.             if (proc.waitFor() != 0) {
  18.                 System.err.println("exit value = " + proc.exitValue());
  19.             } 
  20.         }
  21.         catch (InterruptedException e) {  
  22.             System.err.println(e);
  23.         }
  24.     }


2、如果是在C或者C++程序中执行shell脚本的话,就比较简单:system(". PATH/shellname.sh");  即可。