Author: Olivier Guerrier Date: To: guilde Subject: Re: Par ici la sortie...
Marc TERRIER a écrit : > Et le fait est que ça marche, mais je ne capte pas la différence entre les deux,
> ni le pourquoi du comment. L'explication figure dans le bouquin en question,
> mais c'est clair comme du jus de chique, alors si quelqu'un de trop balèze ;-)
> pouvait m'expliquer en *vraiment clair*, ce serait sympa...
Essayons ... (je suis pas doué pour les explication :) )
initialement, stdout pointe sur /dev/fd/1 et stderr pointe sur /dev/fd/2.
> # ma_commande 2>&1 >fichier.log Dans ce cas, tu demandes au shell de faire:
1 - stderr = stdout (qui pointe /dev/fd/1)
2 - stdout = fichier.log
3 - ma_commande
> # ma_commande >fichier.log 2>&1 Dans ce cas, tu demandes au shell de faire:
1 - stdout = fichier.log
2 - stderr = stdout (qui vaut maintenant fichier.log)
3 - ma_commande
J'espère que c'est clair ;)
le plus simple pour jamais se gourrer, c'est de faire:
$ ma_commande >fichier.log 2>fichier.log
ou (moins portable):
$ ma_commande &>fichier.log