Bonjour,

dans un batch, je souhaite faire en sorte de catcher toutes les erreurs qui peuvent survenir, et réaliser (tracer dans les logs).

J'ai donc vu qu'il était possible de le faire avec trap :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
!/bin/ksh -e
trap `echo "erreur detectee";exit` 2
# Le fichier test n'existe pas
cat test
echo "Ne doit pas être affiché"
En faisant comme ça, je passe bien dans mon trap, le "Ne doit pas être affiché" n'est effectivement pas affiché.

Mon problème maintenant, c'est que je souhaite enregistrer le message d'erreur dans un fichier de log. Et c'est là que je vais avoir besoin de votre aide. J'ai essayé :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
!/bin/ksh -e
trap `2>log.txt;exit` 2
# Le fichier test n'existe pas
cat test
echo "Ne doit pas être affiché"
Mais ca ne fonctionne pas. Mon fichier log.txt est vide alors que je souhaiterais y voir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cat: test: No such file or directory
Merci de votre aide,

Renaud.