# BASH if : tester la racine dans un nom de fichier

**URL:** <https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193>\
**Category:** Programmation\
**Created:** [Septembre 26, 2022, 1:43 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193 "2022-09-26T13:43:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Septembre 26, 2022, 1:43 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/1 "2022-09-26T13:43:00Z")

</div>

Bonjour,

ce test , sous les 2 formes ci-dessous ne fait pas ce que je voudrais, à savoir renvoyer vrai si la valeur dans la variable commence par un slash (le chemin est donné à partir de la racine), il échoue toujours.

```
  if [["$CheminInitial" =~ "^/"]]  
  if [["$CheminInitial" =~ "^\/"]]  

```

La question est donc : comment indiquer ce slash initial au test ?  
merci

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Septembre 26, 2022, 2:00 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/2 "2022-09-26T14:00:22Z")

</div>

Bonjour

```nohighlight
michel@deb114x:~$ maVar="/racine/blabla"
michel@deb114x:~$ [[$maVar =~ ^/]] && echo "OK" || echo "ko"
OK
michel@deb114x:~$ maVar="cheminRelatif/blabla"

```

```nohighlight
michel@deb114x:~$ maVar="cheminRelatif/blabla"
michel@deb114x:~$ [[$maVar =~ ^/]] && echo "OK" || echo "ko"
ko
michel@deb114x:~$ 

```

* * *

```nohighlight
michel@deb114x:~$ maVar="/racine/blabla"
michel@deb114x:~$ maReg='^/'
michel@deb114x:~$ [[$maVar =~ $maReg]] && echo "OK" || echo "ko"
OK
michel@deb114x:~$ 

```

```nohighlight
michel@deb114x:~$ maVar="cheminRelatif/blabla"
michel@deb114x:~$ maReg='^/'
michel@deb114x:~$ [[$maVar =~ $maReg]] && echo "OK" || echo "ko"
ko
michel@deb114x:~$ 

```

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Septembre 26, 2022, 2:17 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/3 "2022-09-26T14:17:22Z")

</div>

Merci beaucoup,  
c’était bien la présence des «&nbsp;guillemets&nbsp;» qui était fautive.

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Septembre 26, 2022, 2:20 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/4 "2022-09-26T14:20:57Z")

</div>

J’ai corrigé mon précédent message, même si c’était _tombé en marche_  
la regex n’était pas correcte.

---

<div class="post-metadata">

**Author:** ![josephtux](https://www.debian-fr.org/user_avatar/www.debian-fr.org/josephtux/32/3985_2.png) [@josephtux](https://www.debian-fr.org/u/josephtux)\
**Post date:** [Septembre 26, 2022, 2:22 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/5 "2022-09-26T14:22:29Z")

</div>

et moi la faute de français 😉

---

<div class="post-metadata">

**Author:** ![anon29980398](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/f4b2a3/32.png) [@anon29980398](https://www.debian-fr.org/u/anon29980398)\
**Post date:** [Septembre 26, 2022, 2:38 UTC](https://www.debian-fr.org/t/bash-if-tester-la-racine-dans-un-nom-de-fichier/87193/6 "2022-09-26T14:38:06Z")

</div>

En fait, non, j’ai dû me mélanger les pinceaux dans mes tests :  
ce n’était pas la peine d’entourer le `/` par des `[]`
