Intercepter les exceptions avec le message d'erreur en bash
Bonjour a tous,
je me demandais si en bash (version 3.2.57) il était possible de capter une exception avec son message, ou au moins différencier deux exceptions renvoyant le même code d'erreur.
Par exemple, aura 1 pour code d'erreur mais Permission Denied comme message d'erreur, mais
Code:
touch /dossierInexistant/fichier
renvoie aussi 1, mais avec le message no such file or directory. J'envoie le code qui va avec :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/bin/bash
while [ 1 ]; do
echo entrez le chemin du fichier a creer \(ainsi que le nom du fichier et son extension\) ou tapez quit pour quitter :
echo repertoire courant : `pwd`
read file
if [ $file = "quit" ]; then
exit 0
fi
touch $file
if [ $? -eq 0 ]
then
echo Fichier cree avec succes !
read
exit 0
else
#code permettant de savoir si l'erreur vient d'une erreur de chemin ou d'un acces refuse
echo Echec de la creation du fichier
fi
done |
Ce code demande à l'utilisateur un chemin pour créer un fichier, il s'arrête en cas de réussite, et en cas d'échec doit avertir l'utilisateur de la cause de l'erreur (ce qui actuellement me pose problème...).
$? renvoie 1 dans les deux cas d'erreur que j'ai pu voir (erreur de chemin et permission refusée).
Dans tout les cas je vous remercie de votre aide et de votre attention :mrgreen: