Arretter le script en cas d'erreur.
Giova
-
Giova -
Giova -
Bonjour,
Quelqu'un pourrait il m'expliquer SVP, comment on fait pour arretter un script lorsqu'une erreur se produit dedans?
J'ai bien compris qu'il y avait des canaux, dont stdout = 1 et error = 2
que 2>&1 est supposé rediriger les erreurs vers la console.
Mais je n'arrive pas à l'utiliser dans mon script :
returnedStr= 'mysql --Chaine de connection -- < monScript.sql >&1'
if ! $returnedStr ;
then
echo ERREUR LECTURE DUMP : $returnedStr
exit 1
else
echo cool $returnedStr
fi
ca me retourne toujours "cool" meme si une erreur se produit dans la ligne mysql :(
Merci je nage là :D
Quelqu'un pourrait il m'expliquer SVP, comment on fait pour arretter un script lorsqu'une erreur se produit dedans?
J'ai bien compris qu'il y avait des canaux, dont stdout = 1 et error = 2
que 2>&1 est supposé rediriger les erreurs vers la console.
Mais je n'arrive pas à l'utiliser dans mon script :
returnedStr= 'mysql --Chaine de connection -- < monScript.sql >&1'
if ! $returnedStr ;
then
echo ERREUR LECTURE DUMP : $returnedStr
exit 1
else
echo cool $returnedStr
fi
ca me retourne toujours "cool" meme si une erreur se produit dans la ligne mysql :(
Merci je nage là :D
A voir également:
- Arretter le script en cas d'erreur.
- Script vidéo youtube - Guide
- Cas ram - Guide
- Mas script - Accueil - Windows
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
1 réponse
Bonjour,
Pour détecter une erreur, il faut interroger la variable $?
Celle-ci contient le code retour de la dernière commande exécutée. Un code-retour 0 indique un succès, tout autre code retour indique une erreur.
Par exemple :
Pour détecter une erreur, il faut interroger la variable $?
Celle-ci contient le code retour de la dernière commande exécutée. Un code-retour 0 indique un succès, tout autre code retour indique une erreur.
Par exemple :
mysql --chaine-- <script.sql 2>&1 if [ $? -eq 0 ] ; then echo cool else echo erreur fi
returnedstr="'mysql --chaine-- <script.sql 2>&1'"
On m'avait egallement donné ceci mais qui ne passe pas sur mon os:
returnedstr=$(mysql --chaine-- <script.sql 2>&1)
if [[ -n "$returnedStr" ]] ; then
echo ERREUR
fi