Problème sur un IF condition1 && condition2
Bonjour,
J'ai encore un petit problème :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #Création du USER Name avec vérifications
function user_name()
{
USER=""
while [ -z ${USER} ] ; do
#Demande à l'administrateur d'entrer un Nom et Prénom
read -p "Entrez un Nom : " NOM
read -p "Entrez un Prénom : " PRENOM
user_short "${NOM}" "${PRENOM}"
#test si tout les champs ont été remplis
if [ -z "${USER}" ] ; then
echo "ATTENTION : Aucun Nom et Prénom renseignés"
echo "Veillez enregistrer TOUS les champs"
fi
#test si user n'est pas déjà présent dans le système
if [ -w "${USER}" ] && grep -q "${USER}" /etc/passwd ; then
echo "ATTENTION : Utilisateur déjà présent dans le système"
echo "Veillez enregistrer un autre utilisateur"
USER=""
fi
done
} |
Mon problème se situe à ce niveau :
Code:
1 2 3 4 5
| if [ -w "${USER}" ] && grep -q ${USER} /etc/passwd ; then
echo "ATTENTION : Utilisateur déjà présent dans le système"
echo "Veillez enregistrer un autre utilisateur"
USER=""
fi |
le problème est avec [ -w "${USER}" ], je n'arrive pas rendre ce test valide même quand ${USER} est non vide avec mon grep...
Au final, la condition n'est même pas effectuée car une des conditions ne fonctionnes pas.
Comment je peux faire ?