#1 Le 17/10/2008, à 16:24
- ®om
[Résolu] Problème de redirection : > >&2 2>&1
J'ai une fonction qui écrit bonjour sur stderr :
f() { echo bonjour >&2; }
D'ailleurs, si je fais :
f 2> fichier
ça écrit bien bonjour dans le fichier.
Maintenant, un peu plus compliqué, j'ai besoin (peu importe pourquoi) de rediriger stderr sur stdout :
f 2>&1
Mais pourquoi :
f 2>&1 > fichier
n'écrit pas dans le fichier (mais sur stdout)
Alors que :
f 2>&1 | cat > fichier
fonctionne?
Hors ligne
#2 Le 17/10/2008, à 16:29
- ®om
Re : [Résolu] Problème de redirection : > >&2 2>&1
Ah, j'ai compris :
f > fichier 2>&1
(faut d'abord rediriger stdout pour que stderr pointe vers le "nouveau" stdout)
Hors ligne
#3 Le 17/10/2008, à 17:03
- tiky
Re : [Résolu] Problème de redirection : > >&2 2>&1
Tu as aussi:
command &> fichier
ou
command >& fichier
Ça redirige stdout et stderr dans fichier. C'est plus rapide à écrire, par contre ce n'est pas Posix et c'est aujourd'hui considéré comme obsolète. À utiliser uniquement dans le shell directement et pas dans les scripts donc
Dernière modification par tiky (Le 17/10/2008, à 17:03)
Conseil d'expert: il vous faut un dentifrice adapté...
Hors ligne