web-dev-qa-db-ja.com

wgetファイル、出力のロギング、およびプロンプトでの出力の表示

Bashスクリプトでは、Webからファイルをダウンロードする必要があります。これを行うには、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

両方を行うことは可能ですか?プロンプトに出力してログファイルに書き込みますか?

4
lese

これを行うには、素敵な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の両方に送信します。

11
Jenny D