Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 ... big_smile


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