inputStream = Runtime.getRuntime().exec(cmd);
java的这个方式,得到的是控制台的输出流,
也就是linux命令运行完,显示在屏幕上的东西,都以流的方式传递给java了,
可以通过下边的方式
InputStreamReader insr = new InputStreamReader(inputStream, “GBK”);
BufferedReader br = new BufferedReader(insr);
while (br.ready()) {
String line = br.readLine();
}
得到屏幕上显示的一行行内容,解析得到你想要的结果。
InputStreamReader 最后一个参数,是设置显示流是什么字符集的,如果不正确,请自行调整一下。
‘贰’ 在linux的shell编程中如何截取一段命令返回值的第一行
ifconfig eth0|grep eth0|awk '{print $5}' |head -1
head命令是取输入的流的头部,可以指定行数
tail命令是取输入的流的尾部
‘叁’ 每天三分钟搞定linux shell脚本26 函数返回值
函数可以产生返回值,有3个方法。
1)默认情况下是 最后一条语句对应的退出状态码
2) return 一个整数值
3)使用 echo语句 指定输出
针对 方法1 建立如下脚本:
运行后输出结果为:
针对 方法2 建立脚本:
运行后结果为:
针对 方法3 建立脚本
运行后输出结果为:
方法3使用echo语句来返回结果,而且 并没有把这个输出到stdout 中。
函数返回数组与参数传递数组一样,使用echo语句。举例如下:
运行后输出结果为: