Shell Retour de fonction
Kikou
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,
J'ai une fonction en shell voici sa description :
function stats
{
....
SQL_EXE_Proc="exec Procedure1"
....
}
Cette fonction exécute une procédure dans une base de donné sybase , avec la connexion qu'il faut au préalable.
Je voudrai faire ceci : récupérer le code retour de la fonction : donc avec un $?
Donc je fais :
if ["$?" == 0 ] then echo "Réussi"
else
echo " échoue"
fi
Je comprend pas pourquoi ca ne marche pas , le code retour est toujours 0 malgré que je vais en sorte que la fonction stats échoue.
Je comprend pas ??? Merci d'avance si vous avez des idées .
J'ai une fonction en shell voici sa description :
function stats
{
....
SQL_EXE_Proc="exec Procedure1"
....
}
Cette fonction exécute une procédure dans une base de donné sybase , avec la connexion qu'il faut au préalable.
Je voudrai faire ceci : récupérer le code retour de la fonction : donc avec un $?
Donc je fais :
if ["$?" == 0 ] then echo "Réussi"
else
echo " échoue"
fi
Je comprend pas pourquoi ca ne marche pas , le code retour est toujours 0 malgré que je vais en sorte que la fonction stats échoue.
Je comprend pas ??? Merci d'avance si vous avez des idées .
A voir également:
- Shell Retour de fonction
- Fonction si et - Guide
- Classic shell - Télécharger - Personnalisation
- Retour à la ligne excel - Guide
- Fonction miroir - Guide
- Retour à la ligne chatgpt - Forum Réseaux sociaux
3 réponses
Salut,
Le code retour d'une fonction se gère à l'intérieur de la fonction avec "return" (le cousin de "exit").
Un exemple sera beaucoup plus parlant :
Le code retour d'une fonction se gère à l'intérieur de la fonction avec "return" (le cousin de "exit").
Un exemple sera beaucoup plus parlant :
[tmpfs]$ cat bar.sh
#! /bin/sh
#set -xv
ma_fonction () {
ping -c 1 192.168.10.${1} >/dev/null && return 0 || return 1
}
ma_fonction $1
if [ $? = "0" ]
then echo "Réussi ;-) "
else echo "Echec :-( "
fi
[tmpfs]$ ./bar.sh 20 # ma passerelle sur le LAN
Réussi ;-)
[tmpfs]$ ./bar.sh 22 # un PC qui n'existe pas
Echec :-(
[tmpfs]$ ;-))