2013-07-11 226 views
4

我做一個bash腳本,我抓住此命令的輸出變量:保存命令輸出沒有它打印到標準輸出

fpings=$(fping -c 1 -t 1 $ips | sort) 

fpings變量確實含有該命令的輸出,並且該命令的實際輸出不會打印到外殼,但它仍然會爲每個ip寫入一行到外殼。

有一個開關(-q)來抑制輸出(我想要的部分),但沒有任何壓制我不想要的部分。

如何從fpings命令中獲取結果而不將其打印到shell中?

回答

5

節省如果你不希望看到的標準錯誤,並將其重定向到到/dev/null

fpings=$(fping -c 1 -t 1 $ips 2>/dev/null | sort) 
2
fpings=$({fping -c 1 -t 1 $ips | sort; } 2>&1) 

應該工作{}捕捉一切,然後將其重定向兩個流(並犯錯)剛剛出來,在可變

+0

使用'fpings = $((fping -c 1 -t 1 $ IPS |排序;)2>&1)',然後過濾出錯誤的工作。 –

相關問題