Diese Frage hat hier bereits Antworten :
Kommentare
- Gilles hat diese Frage gefunden, die noch mehr wie ein Dup aussieht: unix.stackexchange.com/questions/37660/order-of-redirections
Antwort
2
bezieht sich auf den zweiten Dateideskriptor des Prozesses, dh stderr
.
>
bedeutet Umleitung.
&1
bedeutet, dass das Ziel der Umleitung derselbe Speicherort wie die erste Datei sein sollte Deskriptor, dh stdout
.
Also > /dev/null 2>&1
leitet zuerst stdout
um bis und leitet dann stderr
auch dort weiter. Dadurch werden alle Ausgaben (regulär oder fehlerhaft) des Befehls wget
effektiv stummgeschaltet.
:: edit :: Hier ist eine hervorragende Kurzreferenz für Sie.
Kommentare
- Danke. Bei Ausführung in einem gemeinsam genutzten Hosting-Cron-Job, der normalerweise eine E-Mail mit der Ausgabe an einen Administrator sendet, wird > / dev / null 2 > & 1 Verhindern Sie dies, denken Sie? Sind auch Leerzeichen um ' > ' wichtig?
- Ja Der vollständige Stummschaltungstrick ist Standard, um sicherzustellen, dass absolut keine Ausgabe vorhanden ist, um E-Mails von einem Cron-Job auszulösen. (Beachten Sie jedoch, dass der Hosting-Anbieter möglicherweise alle möglichen seltsamen Dinge an Ihrer Cron-Umgebung vorgenommen hat, damit diese unabhängig von Ihren Bemühungen eine Art E-Mail sendet.) :: edit :: Und nein, Leerzeichen um die einsame
>
spielt keine Rolle, aber Leerzeichen innerhalb der2>&1
spielen wahrscheinlich eine Rolle (ich kann mich ' nicht erinnern) . - Es kann auch erwähnenswert sein, dass dieselbe Semantik häufig mit der Redewendung
&>/dev/null
erreicht wird