In einem Bash-Skript muss ich eine Datei aus dem Internet herunterladen. wget
Dazu verwende ich den Befehl. Ich möchte die Ausgabe des wget
Befehls protokollieren und gleichzeitig die Ausgabe auf dem Terminal anzeigen lassen.
Ich habe darin gesucht, man wget
ohne einen Weg zu finden, dies zu erreichen.
-o
Wenn Sie das Protokoll mit dem Parameter oder aktivieren, wird die Eingabeaufforderungsausgabe anscheinend -a
automatisch in die Protokolldatei „umgeleitet“, und während der Ausführung des Skripts wird auf dem Terminal nichts angezeigt, bis der Download abgeschlossen ist.
wget -a wget_log --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd Link_zur_Datei
Ist beides möglich? Ausgabe in der Eingabeaufforderung und Schreiben in die Protokolldatei?
Antwort1
tee
Dazu nutzt du den Befehl „lovely“ :
wget --no-check-certificate --auth-no-challenge --http-user=$jen_uname --http-password=$jen_psswd 2>&1 | tee -a wget_log
Das 2>&1
bedeutet, dass STDERR an die gleiche Stelle geht wie STDOUT und beide an weitergeleitet werden tee
. Das -a
bedeutet, dass append. tee
die Ausgabe dann sowohl an wget_log als auch an STDOUT sendet.