Que signifie 2 > & 1 dans cette commande? [dupliquer]

Cette question a déjà des réponses ici :

Commentaires

Réponse

2 fait référence au deuxième descripteur de fichier du processus, cest-à-dire stderr.

> signifie redirection.

&1 signifie que la cible de la redirection doit être au même emplacement que le premier fichier descripteur, cest-à-dire stdout.

Donc > /dev/null 2>&1 premières redirections stdout à , puis redirige stderr là aussi. Cela réduit au silence toutes les sorties (normales ou derreur) de la commande wget.

:: edit :: Voici une excellente référence rapide pour vous.

Commentaires

  • Merci. Lorsquil est exécuté dans une tâche cron dhébergement partagé qui envoie généralement un e-mail de la sortie à un administrateur, le > / dev / null 2 > & 1 empêcher que cela se produise, pensez-vous? Les espaces entourant ' > ' importent-ils également?
  • Oui , lastuce de mise en sourdine complète est une pratique standard pour sassurer quaucune sortie nexiste pour déclencher un e-mail à partir dune tâche cron. (Notez, cependant, que le fournisseur dhébergement peut avoir fait toutes sortes de choses étranges à votre environnement cron pour lui faire envoyer une sorte de courrier électronique indépendamment de vos efforts.) :: edit :: Et non, des espaces autour du seul > na pas dimportance, mais les espaces dans le 2>&1 comptent probablement (je peux ' me rappeler) .
  • Il peut également être intéressant de noter que la même sémantique est souvent obtenue avec lidiome &>/dev/null

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *