Am Donnerstag, 18. März 2004 20:18 schrieb Anke Boernig:
Peter Schopen schrieb:
vielen Dank. Es funktioniert sowohl die "> /dev/null 2>&1" als auch "&>/dev/null". Beidesmal werde ich von Mails "verschont". Welche Lösung jetzt besser ist, kann ich leider auch nicht sagen, aber vielleicht kann das jemand erläutern?
auf die schnelle würde ich im ersten Fall sagen:
/dev/null 2>&1 . die 2 bedeutet Fehlerkanal (STDERR), also alle
Fehlerausgaben und die 1 Standardausgabe/Monitor (STDOUT) wird ins nirwana (/dev/null) geschickt. im zweiten Fall bin ich mir aber nicht sicher. eigentlich bedutet das "&": starte den Job im Hintergrund ">/dev/null" alle Ausgaben ins nirwana. Ob dann aber auch Fehler nach /dev/null gehen
Deine Deutung stimmt nicht so ganz.
Beide Versionen machen nämlich genau dasselbe :-)
Mit dem "2>&1" lenkt man die Standard-Fehlerausgabe in die Standardausgabe, und mit dem "> /dev/null" die Standard-Ausgabe nach /dev/null. Und da die Fehlerausgabe in die Standardausgabe umgeleitet wurde, geht also alles nach /dev/null. Und das "&>" bedeutet genau dasselbe, dass nämlich sowohl die Standardausgabe als auch Fehlerausgabe umgeleitet werden sollen.
Und da ich etwas tippfaul bin, nehme ich immer die Variante :-)
Gruß, Anke
Hallo, stimmt. Als Hintergrundjob wird das ganze gestartet, wenn hinter dem "&" eine Leerstelle (space) steht. Grüße Peter