STDIN kann benutzt werden, um Nutzereingaben aufzunehmen und zu verarbeiten.
In einem shell-skript oder einem Einzeiler werden die obigen, langen Begriffe nicht direkt benutzt, sondern Zahlen-Variablen. Die 1 für STDOUT und die 2 für Fehlermeldungen, also STDERR. Ein Beispiel, was sehr häufig genutzt wird ist der Befehl "2>/dev/null". Damit werden alle Fehlermeldungen (z.B. keine Leserechte in bestimmen Verzeichnissen) in den Müll (a.k.a. /dev/null) geschickt und erscheinen somit nicht auf dem Bildschirm! Sehr nützlich, bitte merken.
Wird keine Nummer angegeben,so geht die shell davon aus, dass man STDOUT (also 1) meint:
ls -la > inhalt.txtIst das selbe wie:
ls -la 1> inhalt.txtMöchte man STDOUT in einen file und STDERR in einen anderen file lenken, macht man dies wie folgt:
ls -la 1>inhalt.txt 2>fehlermeldungen.txtSTDOUT und STDERR in einen file zusammen lenken? Kein Problem:
ls -la >inhalt.txt 2>&1Möchte man allerdings trotz Umleitung in eine Datei eine Ausgabe (zur Kontrolle zB) auf dem Bildschirm sehen, gibt es auch dafür eine Lösung:
ls -la | tee inhalt.txt
Mehr Infos bei skorks.com.
Keine Kommentare:
Kommentar veröffentlichen