Bonjour,
Dans un script BASH, je teste si un login existe dans un fichier. Pour cela j’utilise une fonction que j’appelle quand j’en ai besoin :
_LOGIN=$(/bin/grep -i -w $1 fichier_user | cut -d ' ' -f1)
CHECK_LOGIN()
{
if [ "$_LOGIN" = "$1" ] ; then
# Le login existe
return 1
else
# Le login n'existe pas
return 0
fi
}
CHECK_LOGIN
if [ $? == 0 ] ; then
echo "L'utilisateur n'existe pas"
else
echo "L'utilisateur existe déjà !!"
fi
Le problème est que je passe dans le cas “return 0” de la fonction quand un login existe au lieu du “return 1”
Par contre si je n’utilise pas la fonction le résultat est correct je rentre bien dans la cas 1 = Existe :
if [ "$_LOGIN" = "$1" ] ; then
# Le login existe
echo "L'utilisateur existe déjà !!"
else
# Le login n'existe pas
echo "L'utilisateur n'existe pas"
fi
Une idée
Merci