Shell savoir si une chaine contient une variables
julien
-
julien -
julien -
Bonjour a tous ^^
voila je débute en shell et je voudrais savoir comment on peut identifier une variable dans une chaine, par exemple: chaine=azerty variable=y comment savoir si azerty contient y? voila merci d'avance.
voila je débute en shell et je voudrais savoir comment on peut identifier une variable dans une chaine, par exemple: chaine=azerty variable=y comment savoir si azerty contient y? voila merci d'avance.
5 réponses
-
hello
avec =~$ chaine="azerty" $ v="y" $ [[ "$chaine" =~ "$v" ]] && echo contient || echo ne contient pas contient $ v="a" $ [[ "$chaine" =~ "$v" ]] && echo contient || echo ne contient pas contient $ v="b" $ [[ "$chaine" =~ "$v" ]] && echo contient || echo ne contient pas ne contient pas $
-
merci pour cette réponse rapide, mais ça me met "commande introuvable." ne doit ton pas mettre des comparateurs tels que -lt ou -gt lorsqu'il s'agit de chaines?
-
ton shell est bien bash ?
respecter les espaces
on ne veut pas comparer mais savoir si la chaine contient, d'où le =~ -
si je met ça [ $chaine =~ $v ] il me dit "opérateur binaire attendu." et si je colle comme ceci [ $chaine=~$v ] il le trouve tout le temps, même lorsque je rentre des chiffres par exemple.(il n'y a que des lettres dans $chaine). avec la syntaxe de qqchquicommenceparQ, il ne trouve jamais le caractère.
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -