在 bash 腳本中,我必須從網路下載一個檔案。我使用wget
命令來執行此操作。我想記錄wget
命令的輸出,並「同時」在終端上提示輸出。
我搜尋了但man wget
沒有找到實現這一目標的方法。
似乎如果您使用-o
或-a
參數打開日誌,則提示輸出會自動“重定向”到日誌文件,並且在執行腳本時終端上不會顯示任何內容,直到完成下載。
wget -a wget_log --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd link_to_the_file
是否可以兩者兼得?提示輸出並寫入日誌檔案?
答案1
您可以使用可愛的tee
命令來執行此操作:
wget --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd 2>&1 | tee -a wget_log
這2>&1
意味著 STDERR 與 STDOUT 到達相同的位置,並且它們都通過管道傳輸到tee
.手段-a
追加。tee
然後將輸出傳送到 wget_log 和 STDOUT。