test si variable contient ./* [Résolu] [BASH] - Shell/Batch - Programmation
Marsh Posté le 07-01-2008 à 21:25:59
Code :
|
Marsh Posté le 07-01-2008 à 21:44:28
Oh MERCI _mumu_ , sa marche niquel !!
Vraiment merci beaucoup
Marsh Posté le 08-01-2008 à 08:43:58
if echo $chemin | grep -qF ./ |
c'est plus mieux.
Note quand même que la méthode est fausse : si un des répertoires dans ton chemin commence ou fini par un point, tu va en déduire que le chemin est relatif alors qu'il peut être absolu. Inversement un chemin peut être relatif sans contenir de "./" (par exemple toto/titi). En fait un chemin est absolu si et seulement si il commence par un / (enfin je pense ?). Donc :
if echo $chemin | grep -q ^/ |
Marsh Posté le 08-01-2008 à 12:09:22
Merci bien pour ces détails !
J'avais pas vu la suptilité ^^
Marsh Posté le 08-01-2008 à 17:38:20
Autre possibilité sous bash/ksh
if [[ "$chemin" = /* ]] |
Jean-Pierre
Marsh Posté le 07-01-2008 à 20:48:36
Bonsoir , et oui encore moi lol !
je souhaite faire un test du genre :
if [ $chemin = ./* ]
then
...
else
En fait , je souhaite tester si un chemin est absolu ou relatif , mais $chemin = ./* ne marche pas , et je n'arrive pas a trouver la solution... alors si quelqu'un pouvait m'aider , j'en serais très reconnaissant!
Merci encore ^^
Message édité par stany13 le 07-01-2008 à 21:44:46