Problème de récupération de chaîne

Bonjour,
Je doit récupérer le chemin absolu du répertoire utilisateur dans /etc/passwd

j’ai fait un:

[code]echo -n "Chemin absolu vers son répertoire FTP ? : "
read dir

abs=grep $dir /etc/passwd | awk -F: '{ print $6 }'
grep “^$abs” /etc/passwd 1>/dev/null
if [ $? -ne 1 ]; then
echo "Vérification…"
sleep 1
echo "Le répertoire << $dir >> ne correspond pas avec celui de << $user >>"
echo "on ne peut donc pas l’ajouter au serveur FTP"
echo "Arrêt…"
echo
exit 1
else
echo "Vérification…"
sleep 1
echo "OK le répertoire correspond…"
fi[/code]

et résultat…ça marche à moitier car si je tape /home/www/joh il me dit qu’il existe.
Si je tape /home/www/johnny il travail bien et il me dit qu’il n’existe pas.
Si je tape /home/www/ il travail bien aussi et me dit qu’il n’existe pas.
Bref, tout ce qui est entre /home/www/j et /home/www/joh il me l’accepte alors qu’il ne devrait accepter que /home/www/john.

Une idée ?

abs=`grep $chroot /etc/passwd | awk -F: '{ print $6 }'` grep "^$abs$" /etc/passwd 1>/dev/null
Non ?

[quote=“MisterFreez”]abs=`grep $chroot /etc/passwd | awk -F: '{ print $6 }'` grep "^$abs$" /etc/passwd 1>/dev/null
Non ?[/quote]

Avec le $ en plus c toujours pareille.

A oui je viens de comprendre ce que tu fais, donc :

Comme ça si grep le trouve c’est que c’est un repértoire

[quote=“MisterFreez”]A oui je viens de comprendre ce que tu fais, donc :

abs=`awk -F: '{ print $6 }' /etc/passwd | grep $dir`

Comme ça si grep le trouve c’est que c’est un repértoire[/quote]

en fait, ça revient au même avec ton code.
je pense avoir trouvé la solution, en fait ici on demande d’ajouter un répertoire existant au compte FTP, il me suffit de ne pas faire la demande via script et de l’ajouter automatiquement dés que l’on donne le nom d’utilisateur à ajouter.
Comme ça on ne risque pas de se tromper de path

dir=`grep $user /etc/passwd | awk -F: '{ print $6 }'`

Merci pour ton aide :smt006