The time now is Wed 19 Jun 2013, 19:52
All times are UTC - 4 |
| Author |
Message |
musher0

Joined: 04 Jan 2009 Posts: 2273 Location: Gatineau (Qc), Canada
|
Posted: Mon 28 Jan 2013, 20:07 Post subject:
Traitement des erreurs dans un script bash Subject description: Dans DOS, c'était facile ! |
|
Bonjour.
J'ai créé un script que j'essaie de rendre le plus étanche possible (foolproof, en anglais... Le traducteur est en congé aujourd'hui ! ).
On trouve dans le .xinitrc de BK, par exemple :
Si fbpanel existe, lancer fbpanel.
| Code: | | [ -e fbpanel ] && fbpanel |
Certains recommandent de placer ceci comme 1ère ligne de script
Source : http://www.turnkeylinux.org/blog/shell-error-handling
Pas essayé, par contre. Je ne sais pas ce que ça vaut...
Dans DOS, on avait les errorlevel. Par ex.
Si errorlevel 1, faire telle chose
Si errorlevel 2, sortir du script
Si errorlevel 3, lancer script no 2
etc., etc.
Ça pouvait servir de condition ou d'aiguillage, mais ça renseignait aussi sur ce qui n'allait pas dans le fichier de séquence (batch file).
On a rien comme ça dans bash, hein? Ça serait diablement commode.
Merci d'avance.
musher0
_________________
"To err is human; to really foul things up, you need a computer!" / "L'erreur est humaine; pour vraiment f... la m..., il faut un ordinateur." (Carleton University, banderole à la Rentrée 1979 / banner, start of 1979 school year) 
|
|
Back to top
|
|
 |
Argolance

Joined: 06 Jan 2008 Posts: 1407 Location: PORT-BRILLET (Mayenne - France)
|
Posted: Sun 03 Feb 2013, 14:19 Post subject:
|
|
Hello musher0,
| Quote: | | On a rien comme ça dans bash, hein? Ça serait diablement commode. | Peut-être que je réponds à côté mais le fichier /tmp/xerrs.log signale tout ce qui ne va pas lors de l’exécution d'un fichier batch. Les erreurs peuvent aussi être contrôlées si on le lance en console.
J'ai perso pris l'habitude de mettre quelques lignes en début de script ou dans un script préliminaire portant le nom du script, lui-même renommé en "script.sh" qui vérifie si l'application n'est pas déjà en cours d'exécution et ouvre une petite fenêtre pour avertir l'utilisateur.
Pour pmount par exemple: | Code: | #!/bin/sh
if [ "`pidof gtkdialog_pmount`" = "" ]; then #si pmount n'est pas en cours d'utilisation alors...
exec /usr/sbin/pmount.sh &
else #sinon... Là on pourrait afficher un message d'avertissement. Dans le cas présent l'application est fermée si elle est déjà en cours d’exécution puis relancée, ce qui a pour effet de rafraichir la liste des périphériques internes ou externes présents sur la machine)
killall gtkdialog_pmount 2>/dev/null
exec /usr/sbin/pmount.sh &
fi
exit |
Cordialement.
| Description |
|
| Filesize |
5.46 KB |
| Viewed |
85 Time(s) |

|
_________________

|
|
Back to top
|
|
 |
musher0

Joined: 04 Jan 2009 Posts: 2273 Location: Gatineau (Qc), Canada
|
Posted: Sun 03 Feb 2013, 14:56 Post subject:
|
|
Salut, argolance.
Merci.
Ton script est intéressant et intelligent , mais je cherche quelque chose qui "dirait" un numéro ou un code explicatif sur l'exécution d'un script après. Ainsi, dans le script même, on pourrait récupérer ce numéro (disons, 85, ou 123, peu importe) et faire faire quelque chose d'autre au script afin de compenser l'erreur. Je savais faire ça dans DOS, mais dans bash je ne trouve rien d'approchant.
J'suis dans les hautes sphères, hein ?
A+
musher0
_________________
"To err is human; to really foul things up, you need a computer!" / "L'erreur est humaine; pour vraiment f... la m..., il faut un ordinateur." (Carleton University, banderole à la Rentrée 1979 / banner, start of 1979 school year) 
|
|
Back to top
|
|
 |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|