Linux
為什麼我不能讓 wget 將標準輸出通過管道傳輸到 /dev/null?
當我執行此命令時,它按預期工作:
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手冊。’–輸出文件=日誌文件’
將所有消息記錄到日誌文件。這些消息通常報告為標準錯誤。