#1 Le 30/12/2016, à 11:20
- alex2423
Capturer la sortie erreur+standard et la sortie erreur ds 1 autre fic
Bonjour,
J'aimerai pouvoir récupérer les sorties :
- d'erreur dans un fichier
- d'erreur et standard dans un autre fichier
Donc pour le moment, j'ai fais un script tout bête avec
- une commande ok (ls toto) ou toto existe belle et bien
- une commande ko pour ghghgh n'existe pas
[root@T02 ~]# ll toto
---x--x--x 1 root root 12 29 d▒c. 16:55 toto
[root@T02 ~]# cat test.sh
ls toto
ls ghghg
Pour récupérer la sortie d'erreur, on fait cela
[root@T02 ~]# sh test.sh 2> retour
toto
[root@T02 ~]# cat retour
ls: impossible d'acc▒der ▒ ghghg: Aucun fichier ou dossier de ce type
Le script :
- renvoie bien la sortie standard vers le prompt la commande OK (ls toto)
- renvoie bien l'erreur dans le fichier retour
Pour récupérer la sortie d'erreur et standard dans un même fichier
[root@T02 ~]# sh test.sh > retour 2>&1
[root@T02 ~]# cat retour
toto
ls: impossible d'acc▒der ▒ ghghg: Aucun fichier ou dossier de ce type
Le script :
- ne renvoie rien vers le prompt
- renvoie bien la commande OK et KO dans retour (sortie d'erreur + standard)
https://openclassrooms.com/courses/repr … edirection
Par contre, j'aimerai bien faire l'association des 2.
J'ai tenté cela
[root@T02 ~]# sh test.sh > retour 2>&1 2> retourOk
[root@T02 ~]# cat retour
toto
[root@T02 ~]# cat retourOk
ls: impossible d'acc▒der ▒ ghghg: Aucun fichier ou dossier de ce type
Mais cela ne fonction pas. Dans retour, j'aurai bien aimé avec la sortie standard et la sortie d'erreur. Or je n'ai que la sortie standard.
J'ai l'impression que l'on ne peux pas dupliquer la sortie d'erreur
Il y a la commande tee qui permet d'écrire dans un fichier la sortie standard et de renvoyer la sortie stanard à la commande suivante ..
Cela aurait la commande idéal, mais je ne vois pas d'option dans Tee pour que cela capture uniquement les erreurs, ou les erreurs + la sortie standard. Avec Tee, nous sommes obligé de se contenté de la sortie standard. C'est bien dommage.
https://fr.wikipedia.org/wiki/Tee_%28Unix%29
Dernière modification par alex2423 (Le 30/12/2016, à 11:37)
En ligne
#2 Le 01/01/2017, à 12:19
- credenhill
Re : Capturer la sortie erreur+standard et la sortie erreur ds 1 autre fic
hello
stdout+stderr dans un fichier log
stderr dans un fichier err
$ ls
a
$ ls a b
ls: cannot access b: No such file or directory
a
$ ls a b > >(cat >> log) 2> >(tee -a err >> log)
$ cat log
a
ls: cannot access b: No such file or directory
$ cat err
ls: cannot access b: No such file or directory
Dernière modification par credenhill (Le 01/01/2017, à 12:21)
Hors ligne