Shell 跟Java 相互调用和获取结果

被调用的shell

a.sh

Shell代码

  1. #!/bin/bash   
  2. echo 111  
  3. exit 8  

Java 代码

  1. public static void main(String[] args) throws IOException {   
  2.     Process p = Runtime.getRuntime().exec(command);   
  3.     InputStream is = p.getInputStream();   
  4.     int data;   
  5.     StringBuffer strBuffer = new StringBuffer();   
  6.     while ((data = is.read()) != -1) {   
  7.         strBuffer.append((char) data);   
  8.     }   
  9.        
  10.     System.out.println("命令:\n" + command);   
  11.     System.out.println("结果:\n" + p.exitValue());   
  12.     System.out.println("log:\n" + strBuffer.toString());   
  13.     int ret = p.exitValue(); // 全路径   
  14.     System.exit(ret); // 直接返回shell执行的结果   
  15. }  

调用java的shell

test.sh

  1. #!/bin/bash   
  2. #调用java打包后的jar文件   
  3. java -jar test.jar   
  4. #显示执行结果   
  5. echo $?  

相关推荐