Bash

在 Linux 中抑制 hping 的輸出

  • December 1, 2020

我希望從 bash 腳本中抑制從 hping3 到標準輸出(控制台)的所有輸出,但是我嘗試的所有結果仍然顯示統計資訊,即使單個 ping 結果被抑制。

我嘗試過重定向不同的方式,命令行開關“-q”,但沒有任何效果。

想法?

hping3 10.1.1.1 -c 1 -q > \dev\null
hping3 10.1.1.1 -c 1 -q > logfile.txt
hping3 10.1.1.1 -c 1 -q 1>\dev\null

所有結果都會在控制台中顯示以下內容:

--- 10.1.1.1 hping statistic ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 1.1/1.1/1.1 ms

正如@mark-wagner 所說,正確的語法是

hping3 10.1.1.1 -c 1 -q >/dev/null 2>&1

這會將標準輸出重定向到一個名為 的位桶文件/dev/null,然後將標準錯誤重定向到同一位置。

如果這還不夠(例如,輸出不是標準錯誤或標準輸出),那麼您可以這樣做:

( hping3 10.1.1.1 -c 1 -q ) >/dev/null

無論輸出指向何處,這都應該起作用-我認為。

引用自:https://serverfault.com/questions/361366