著者: nt.guilde 日付: To: guilde 題目: Re: sortie standard et d'erreur
>Je te conseille de bien relire le man sh a ce sujet, c'est pas >forcement evident de bien comprendre ou placer le 2>&1 :-)
Il faut se rappeler ceci : 1) les pipes sont prioritaires sur les
redirections ; cela signifie que stdin et stout sont initialisées en premier ;
2) les redirections sont prises en compte ensuite, dans l'ordre dans lequel
elles ont été spécifiées (de gauche à droite, donc).
>wget -S 2>&1 | grep toto
Ceci dit : fd 2 sera envoyé là où fd 1 va ; fd 1 va vers la pipe, car
stdout a été initialisé avant.
>Si tu veux rediriger les 2 dans un fichier, il faut faire
>wget -S > log 2>&1
>c'est a dire mettre le 2>&1 APRES la redirection,
>contrairement au cas du pipe (|) ou il faut le mettre
>AVANT.
Ceci dit : fd 1 va vers le fichier 'log', et fd 2 va où fd 1 va, donc vers
le fichier 'log'. Si tu avais eu 'wget -S 2>&1 >log', cela aurait signifié :
fd 2 va là où fd 1 va, probablement le terminal ; ensuite, fd 1 va vers le
fichier 'log'.
-Nicolas Tripon
--
"The position taken by the Scots and the English take regarding their
relations is very certainly none of your affair - you insignificant
little frog-eating chancer." -Charles Walmsley