Bonjour,
J'ai encore un petit problème :
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
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 bash : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?
Partager