Comparaison multiple de chaine en shell unix
Seb
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
y a-t-il un moyen de faire une comparaison multique de chaine en shell unix?, j'ai un truc comme suit:
je voudrais comparer si une variable $VarEntre vaut $a ou $b ou $c, quelle est la commande if...then a faire ?
J'ai essayé:
1ier essai:
if [ "$VarEntre" = "$a|$b|$c" ]
then
echo ok
fi
=> resultat: ca marche pas
2ieme essai
if [ "$VarEntre" = "$a" -o "$VarEntre" = "$b" -o "$VarEntre" = "$c" ]
then
echo ok
fi
=> resultat nok aussi...
Quelqu'un pourrait-il m'aider dessus svp ???
Je craque avec ce shell...
Merci beaucoup par avance pour vos aides...
y a-t-il un moyen de faire une comparaison multique de chaine en shell unix?, j'ai un truc comme suit:
je voudrais comparer si une variable $VarEntre vaut $a ou $b ou $c, quelle est la commande if...then a faire ?
J'ai essayé:
1ier essai:
if [ "$VarEntre" = "$a|$b|$c" ]
then
echo ok
fi
=> resultat: ca marche pas
2ieme essai
if [ "$VarEntre" = "$a" -o "$VarEntre" = "$b" -o "$VarEntre" = "$c" ]
then
echo ok
fi
=> resultat nok aussi...
Quelqu'un pourrait-il m'aider dessus svp ???
Je craque avec ce shell...
Merci beaucoup par avance pour vos aides...
Configuration: Windows XP Firefox 3.0.11
3 réponses
-
Salut,
Essaie (je n'ai pas testé)if [ "$VarEntre" = "$a" ] || [ "$VarEntre" = "$b" ] || [ "$VarEntre" = "$c" ]
ouecho $VAREntre | grep -oE "$a|$b|$c" && echo ok
-
Salut,
Ou bien :if [[ $var = [abc] ]];then
;-))
-
Salut merci,
j'ai essaye le truc suivant et ca marche pas:
if [ $var = [$a|$b|$c] ]
then
...
fi
=> nok !!! :-(