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

**URL:** <https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342>\
**Category:** Programmation\
**Created:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342 "2016-02-20T16:40:06Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342/1 "2016-02-20T16:40:06Z")

</div>

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

```auto

```

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 ?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342/2 "2016-02-20T16:40:07Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342/3 "2016-02-20T16:40:08Z")

</div>

[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.

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342/4 "2016-02-20T16:40:18Z")

</div>

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

```auto

```

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

---

<div class="post-metadata">

**Author:** ![dexmon](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/d/d2c977/32.png) [@dexmon](https://www.debian-fr.org/u/dexmon)\
**Post date:** [Février 20, 2016, 4:40 UTC](https://www.debian-fr.org/t/probleme-de-recuperation-de-chaine/10342/5 "2016-02-20T16:40:18Z")

</div>

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

```auto
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

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

Merci pour ton aide ![:smt006](https://www.debian-fr.org/uploads/default/original/1X/924eb3db8bedad6a0d333b02031d3c6a9af9d9c5.gif)
