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語句。舉例如下:
運行後輸出結果為: