Was bedeutet 2 > & 1 in diesem Befehl? [duplizieren]

Diese Frage hat hier bereits Antworten :

Kommentare

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 der 2>&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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.