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