Je sais quoi
program > /dev/null 2>&1
Est-ce que. Il redirige la sortie vers /dev/null
et 2>&1
signifie rediriger la sortie d'erreur au même endroit où la sortie est envoyée.
Mon problème est que je dois toujours chercher sur Google parce que je ne m'en souviens jamais.
Alors, j'essaie &2>1
, 1>2&
, 1>&2
… J'essaie toutes les combinaisons jusqu'à ce que je les recherche sur Google…
Quelle est l'astuce pour s'en souvenir facilement ?
Réponse acceptée :
La sortie est meilleure que l'erreur, elle vient donc en premier (1 contre 2).
>
est un raccourci pour « va à ». À gauche, ce que je veux envoyer et à droite, où je veux l'envoyer. Puisque "où" est (presque) toujours un fichier, quelque chose comme
program > /dev/null 2>1
redirigerait vers un fichier nommé 1. Ainsi, l'esperluette (&)
modifie le fichier en descripteur de fichier.
Malheureusement, je n'ai pas rencontré ni développé mon propre mnémonique, mais quand j'ai appris *nix pour la première fois, j'ai trouvé cette façon logique de bien fonctionner. Après quelques essais, cela devient une seconde nature.