BASH if : tester la racine dans un nom de fichier

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

Bonjour

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

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

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

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

et moi la faute de français :wink:

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