#1 Le 06/09/2008, à 13:15
- erlik
[resolu] [sh] afficher une variable dont le nom est une variable ...
Hello
J'ai un petit script qui me pose probleme. je voudrais afficher le contenu d'un variable dont le nom est lui meme une variable
par ex:
test=5
OPTION=test
echo ${$OPTION} # echo 5
mais je ne trouve pas la synthaxe correcte pour utiliser une variable comme nom ...
j'ai essayer ${`$OPTION`}, ${`echo $OPTION`} etc, mais rien ne marche
merci
Dernière modification par erlik (Le 06/09/2008, à 14:38)
Je ne suis pas un geek! Je suis un être humain!
Hors ligne
#2 Le 06/09/2008, à 13:30
- frafa
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
lo
test="5"
OPTION="$test complement"
echo "$OPTION" # echo 5
Hors ligne
#3 Le 06/09/2008, à 14:00
- erlik
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
je test ...
Dernière modification par erlik (Le 06/09/2008, à 14:03)
Je ne suis pas un geek! Je suis un être humain!
Hors ligne
#4 Le 06/09/2008, à 14:11
- ®om
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
En fait, ce n'est pas vraiment le contenu d'un variable dont le nom est lui meme une variable.
C'est juste que OPTION prend la même valeur que test quand tu l'affectes :
OPTION="$test"
Hors ligne
#5 Le 06/09/2008, à 14:14
- erlik
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
Hello
Malheureusement je ne peux pas utiliser cette methode
test=5 est tiré d'un fichier contenant un listing de valeurs
OPTION=test est créé où "test" est le nom d'un fichier, qui contient une valeur numerique
En gros le script verifie la valeur de "test" ds le listing. Si elle est absente ou egale a 0, il utilise la valeur du fichier test
Donc, j'ai besoin d'utiliser une variable ( $OPTION ) pour rerifier si la variable ayant pour nom la valeur de $OPTION existe et !=0 ....
d'ou mon probleme ....
Dernière modification par erlik (Le 06/09/2008, à 14:15)
Je ne suis pas un geek! Je suis un être humain!
Hors ligne
#6 Le 06/09/2008, à 14:37
- erlik
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
fianlement , j'ai reussi a contourner mon probleme sans avoir eu besoin de tout ça ...
Je ne suis pas un geek! Je suis un être humain!
Hors ligne
#7 Le 06/09/2008, à 18:17
- Totor
Re : [resolu] [sh] afficher une variable dont le nom est une variable ...
Salut,
Pour la question initiale, voici 2 solutions (il y en a probablement plus) :
1ère solution :
toto="ce qu tu veux"
titi="toto"
echo "$(eval "echo \${${titi}}")"
2nde solution (bien plus simple):
echo ${!titi}
EDIT : Je n'avais pas fait attention; la demande est pour du sh. La 2nde solution n'est pas valable en sh mais l'est en bash.
Dernière modification par Totor (Le 07/09/2008, à 09:55)
-- Lucid Lynx --
Hors ligne