① 如何獲取shell命令輸出的錯誤信息
不太明白你表達的意思,是無法看到錯誤信息還是想保存錯誤信息?
1、一般來講,shell命令都是有錯誤輸出的,它會列印在屏幕上,但實際上是標准錯誤輸出文件,如果我不想輸出到屏幕,而是寫到文件里,我們可以用管道符'>'重定向標准錯誤輸出,比如:
我cat一個不存在的文件,會有錯誤輸出,我可以把錯誤重定向到文件里
#cat/tmp/aa
cat:/tmp/aa:Nosuchfileordirectory
#cat/tmp/aa2>err.log
#caterr.log
cat:/tmp/aa:Nosuchfileordirectory
2表示標准錯誤輸出。
另外,我甚至可以把錯誤輸出放到shell變數里:
#aa=$(cat/tmp/aa2>&1)
#echo$aa
cat:/tmp/aa:Nosuchfileordirectory
2>&1表示,我把錯誤輸出重定向到標准屏幕輸出1上,在賦值給變數aa
2、關於如何調試shell腳本
很簡單
#sh-vxxxxx.sh
上述命令會列印shell腳本的執行過程和結果,有助於排錯。當然,某些情況下,可能不會有輸出(如shell中有函數,可能就不會輸出函數里的過程)。
② shell中怎樣讀取命令執行的結果
將命令放在$()中執行,然後賦值給變數
result=$( ls -l )
echo $result
③ linux Shell 怎樣獲得命令的執行結果
可以用
$?
獲取上一條shell命令的返回結果。
一般的約定是:
0
表示成功,非0表示失敗。
例如:你可以試驗一下
執行正確的shell
命令:
執行
ls,然後緊接著
echo
$?
執行錯誤的shell
命令:
執行
ls
/abcdefg,然後緊接著
echo
$?
④ shell監控命令結果多次篩選的問題
iostat是分段列印,執行一個篩選是正常的,但是篩選過後再篩選,只能等第一次篩選結束後,才能進行第二次篩選。也就是說,從管道的角度看,第一次的篩選數據來源於iostat,第二次的篩選數據就是來自於awk了。結果會顯示,只是說非實時,有點慢,沒有顯示就說明沒有匹配的項或者寫的命令有問題
⑤ 怎麼echo shell命令輸出的結果
echo命令改變樣式,以輸出不同顏色的文本命令輸出的結果必須有 -e 選項(開啟echo中的轉義)。
文本終端的顯示顏色可以使用「ANSI非常規字元序列」來生成。
⑥ 如何獲取shell函數的返回值及shell命令的返回值
函數 返回值 。使用return 返回出來,調用函數就獲取到
shell命令返回值。使用 $?獲取
⑦ 如何將一shell腳本中的每一步命令執行結果輸出到指定日誌文件中
命令的結果輸出到指定文件可以使用>>,如:
ls >> log.txt
這樣就可以了。
⑧ linux程序裡面怎麼獲取shell命令結果
用
$?
獲取上一條shell命令的返回結果。0
表示成功,非0表示失敗。
執行一條shell命令,然後緊接著
echo
$?
看看
⑨ 如何把shell中一個命令的結果輸出到一個文件中
用文件重定向就行,>會先清空原文件【沒有時先新建】,>>是追加方式
echo 「字元串」 >文件名
或
腳本 >文件名
⑩ 調用shell命令,如何得到輸出結果
看你調什麼命令 如果能直接輸出的會直接輸出到屏幕上,比如date 、ls 之類的
如果需要參數的 如果不帶參數會提示用法比如 sed 、awk之類的
如果自己在腳本里設置變數,則需要用echo 或者printf輸出,比如 aaa="123" 就需要用echo "$123" 來輸出