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 ?