bonjour,
j'ai script fait des traitements mais parfois il y a des erreurs.
est ce qu'il y a un moyen de filtrer les résultats suivant le cas si c'est du stdout ou stderr?
merci d'avance
bonjour,
j'ai script fait des traitements mais parfois il y a des erreurs.
est ce qu'il y a un moyen de filtrer les résultats suivant le cas si c'est du stdout ou stderr?
merci d'avance
Que veux tu savoir plus exactement ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 etienne@info1:~ $ ls -l aze test.sh 1>stdout 2>stderr etienne@info1:~ $ cat stdout -rwxr-xr-x 1 etienne etienne 17 2006-03-16 12:10 test.sh etienne@info1:~ $ cat stderr ls: aze: Aucun fichier ou répertoire de ce type
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
La plupart des shell proposent une redirection differente pour les deux sorties standard (csh ne le permet pas).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 toto > toto.out 2>toto.err
en fait ce que je voudrai faire c'est un peu comme le traitement des exceptions dans les languages de haut niveau: quand une commande échoue ou il y a un problème, je fais le traitement nécessaire.
voilà![]()
peut être que le code retour, c'est à dire $? te servirait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 etienne@info1:~/Desktop $ lazdazd bash: lazdazd: command not found etienne@info1:~/Desktop $ echo $? 127 etienne@info1:~/Desktop $ ls 12115864.pdf fortune nxclient_1.5.0-141_i386.deb etienne@info1:~/Desktop $ echo $? 0
Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
j'ai pensé à cette solution moi aussi mais le problème est que le message d'erreur "bash: lazdazd: command not found" est affiché dans ce cas et ce n'est pas ce que je souhaiteEnvoyé par ggnore
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ lazdazd 2>/dev/null || echo error error
merci c'est exactement ce que je veux faire chapeau basEnvoyé par laurentschneider
j'ai en fait une autre petite question (je suis chiant): j'ai une boucle qui parcourt les différents params du scriptest ce qu'il y a un moyen de commencer non pas par le 1er param mais le deuxième?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for i in $* do #blabla done
Envoyé par soulhouf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $ cat /tmp/x #!/bin/ksh shift for p in $* do echo $p done $ /tmp/x un deux trois deux trois
laurentschneider>>thanks you're the man![]()
Partager