Linux

為什麼我不能讓 wget 將標準輸出通過管道傳輸到 /dev/null?

  • December 27, 2017

當我執行此命令時,它按預期工作:

wget -p https://www.google.com/

執行此命令後,我檢查錯誤程式碼

echo $?

這將返回 0,表示最後一個命令執行時沒有遇到任何錯誤。

現在我執行:

wget -p https://www.google.com/ >/dev/null

最後一個命令應該抑制標準輸出 - 但它沒有。那麼發生了什麼?這對 wget 來說幾乎是特別的,因為在使用其他命令之前,我從來沒有遇到過管道標準輸出的問題。

還值得注意的是,如果您執行:

wget -p https://www.google.com/ 2>/dev/null

所有輸出都被抑制。有人願意開導一個困惑的人嗎?

嗯,wget -p https://www.google.com/ &> /dev/null正在工作。那是因為wget輸出到標準錯誤而不是標準輸出。您可以查看 wget手冊

’–輸出文件=日誌文件’

將所有消息記錄到日誌文件。這些消息通常報告為標準錯誤。

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