Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

substitution d'une variable dans une variable

5 réponses
Avatar
Christophe PEREZ
Bonsoir,

En bash, est-il possible de faire quelque chose du genre $$variable ?

Pour préciser s'il en est besoin :
$variable="a"
Comment faire pour avoir le contenu de $a en passant par $variable ?

J'ai cherché un moment, mais je n'ai pas trouvé, et je ne sais même pas si
c'est possible puisqu'un ${$variable} ne passe pas.

--
Christophe PEREZ

5 réponses

Avatar
attaleiv
27.08 06h28 Christophe PEREZ a demandé:

...En bash, est-il possible de faire quelque chose du genre $$variable ?
Pour préciser s'il en est besoin :
$variable="a"
Comment faire pour avoir le contenu de $a en passant par $variable ?
...


je ne pense pas qu'il y ait beaucoup de formules mais celle-ci devrait
faire l'affaire:

azerty=qsdfg
qsdfg=azerty

« eval echo $$qsdfg »

-


--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/

Avatar
J. Mayer
On Wed, 27 Aug 2003 00:27:53 -0400, Christophe PEREZ wrote:

Bonsoir,

En bash, est-il possible de faire quelque chose du genre $$variable ?

Pour préciser s'il en est besoin :
$variable="a"
Comment faire pour avoir le contenu de $a en passant par $variable ?

J'ai cherché un moment, mais je n'ai pas trouvé, et je ne sais même pas si
c'est possible puisqu'un ${$variable} ne passe pas.


Ca, ça marche avec bash. C'est eval qui sauve la mise:
b="1" ; a='$b' ; eval c=${a} ; echo $c ;
donne le résultat voulu...

Avatar
Stephane CHAZELAS
Le Wed, 27 Aug 2003 00:27:53 -0400, Christophe PEREZ écrivait :
En bash, est-il possible de faire quelque chose du genre $$variable ?

Pour préciser s'il en est besoin :
$variable="a"
Comment faire pour avoir le contenu de $a en passant par $variable ?


eval "$variable=a"

eval "echo "$$variable""

ou (bash et ksh93 specifique):

echo "${!variable}"

--
Stéphane

Avatar
Christophe PEREZ
Le Wed, 27 Aug 2003 08:15:21 +0200, J. Mayer a écrit:

Ca, ça marche avec bash. C'est eval qui sauve la mise:
b="1" ; a='$b' ; eval c=${a} ; echo $c ;
donne le résultat voulu...


Rha ! J'avais pourtant essayé eval, mais mal :-))
Merci.

--
Christophe PEREZ

Avatar
Christophe PEREZ
Le Wed, 27 Aug 2003 08:01:05 +0000, Stephane CHAZELAS a écrit:

echo "${!variable}"


Rha, voilà ce que je cherchais !

Merci à tous.

--
Christophe PEREZ