Bonjour,
Je cherche un moyen de pouvoir stoquer le nom d'une variable dans une autre variable afin de pouvoir la tester.
Exemple :
foo_bar1=test1
foo_bar2=test2
foo_bar3=test3
et lors du deroulement de mon script une variable bar va etre affectuée par une valeur qui va etre soit bar1, bar2 ou bar3 et je voudrais pourvoir utiliser le contenu de foo_bar1 si bar=bar1 etc ...
Je sais pas si j'ai ete clair ou pas mais si une personne a une solution je la veux bien :)
Merci.
# man bash, ou google
Posté par NeoX . Évalué à 0.
[^] # Re: man bash, ou google
Posté par bash . Évalué à 1.
Car dans mon script c'est plutot ca :
foo1_bar1
foo1_bar2
etc ....
foo10_bar1
foo10_bar2
etc ...
J'avais toujours la solution de decomposer en plusieurs case mais je trouve pas ca trés optimisé.
[^] # Re: man bash, ou google
Posté par bash . Évalué à 2.
tmp=$foo$bar
echo {!tmp}
C'est tout nul mais bon ca marche.
Si quelqu'un a une autre idée?
# eval
Posté par Undefined8000 . Évalué à 5.
[^] # Re: eval
Posté par bash . Évalué à 1.
[^] # Re: eval
Posté par Undefined8000 . Évalué à 5.
[^] # Re: eval
Posté par bash . Évalué à 2.
Ca marche ....
C'est vraiment bien, merci beaucoup pour vos reponse.
Un grand merci a toi Darkael, tu m'enleve une epinne du pied :)
# Indirection et bash
Posté par JJD . Évalué à 7.
La réponse a déjà été donnée il y a quelques jours...
En bash, tu peux gérer les indirections avec la syntaxe suivante :
${!var}
Ainsi, si $var vaut "foo_bar1", ${!var} est équivalent à $foo_bar1.
A+
JJD
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.