首先shell和Java是可以相互调用的。
被调用的shell a.sh
Shell代码
[mw_shl_code=bash,true]#!/bin/bash
echo 111
exit 8 [/mw_shl_code]
java 代码
[mw_shl_code=java,true]public static void main(String[] args) throws IOException {
Process p = Runtime.getRuntime().exec(command);
InputStream is = p.getInputStream();
int data;
StringBuffer strBuffer = new StringBuffer();
while ((data = is.read()) != -1) {
strBuffer.append((char) data);
}
System.out.println("命令:\n" + command);
System.out.println("结果:\n" + p.exitValue());
System.out.println("log:\n" + strBuffer.toString());
int ret = p.exitValue(); // 全路径
System.exit(ret); // 直接返回shell执行的结果
} [/mw_shl_code]
调用java的shell
test.sh
[mw_shl_code=bash,true]#!/bin/bash
#调用java打包后的jar文件
java -jar test.jar
#显示执行结果
echo $? [/mw_shl_code]
上面是test.sh调用Java jar test.jar。
同理hbase shell也可以的
|