您的位置:首页 > 运维架构 > Shell

java调用shell脚本,并获得结果集的例子

2015-01-28 21:09 477 查看
/**

* 运行shell脚本

* @param shell 需要运行的shell脚本

*/

public static void execShell(String shell) {

try {

Runtime rt = Runtime.getRuntime();

rt.exec(shell);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 运行shell

*

* @param shStr

* 需要执行的shell

* @return

* @throws IOException

*/

public static List runShell(String shStr) throws Exception {

List<String> strList = new ArrayList();

Process process;

process = Runtime.getRuntime().exec(new String[] {"/bin/sh","-c",shStr},null,null);

InputStreamReader ir = new InputStreamReader(process

.getInputStream());

LineNumberReader input = new LineNumberReader(ir);

String line;

process.waitFor();

while ((line = input.readLine()) != null) {

strList.add(line);

}

return strList;

}

注:如果sh中含有awk,一定要按new String[]{"/bin/sh","-c",shStr}写,才可以获得流.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: