• [^] # Re: Pipe -> erreur ?

    Posté par . En réponse au message [Terminal] Du bon ordre des redirections. Évalué à 1.

    En fait, je crois qu'il a mal compris comment ça marche !
    En effet, la commande "&n" permet de pointer vers le même fichier que le fichier de sortie de descripteur n sachant que 1 c'est stdout et 2 c'est stderr.
    Maintenant "n>" permet de rediriger le fichier vers lequel pointe de le fichier de descripteur n.

    Ainsi, on peut même compliquer un peu les choses et écrire des choses du genre :
    sh -c "echo aa & echo bb >&2" 3>res 1>&3 2>&3

    Ce qui affecte le descripteur 3 au fichier res puis redirige les sorties 1 et 2 vers le même fichier que 3.

    En fait donc, sa commande avec pipe ne marche pas car il redirige la sortie stderr de la seconde commande alors qu'il faut rediriger celle de la première ! En effet, si on veux que le pipe envoie tout, comme il n'envoie que stdout il faut rediriger stderr AVANT le pipe !

    A noter qu'il existe, avec bash au moins, un raccourcis pour rediriger les deux sorties standard stdout et stderr vers un fichier :
    macommande &> fichier