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/02/2008, à 15:20

philpep-tlse

[Shell]Définir des variables dont le nom est variable ??

Salut, j'ai une question toute bête mais je ne trouve pas vraiment la solution.

En gros j'ai un boucle while qui définit des variables, un peu comme ça :

while [ "$i" <= "$Nb" ]; do
          var$i=f($i)
          i=(($i+1))
done

En gros j'aimerais que var1=f(1), var2=f(2), ....., var($Nb)=f($Nb)

Mais le problème est là dedans : var$i, la syntaxe n'est pas bonne, pourtant :

i=0
var$i=tagada
bash: var1=tagada: command not found

J'ai essayé avec var'$i', var$($i), var`$i` mais rien n'y fait !

Je suis sûr que la solution est simple, mais là je sèche....

EDITH : c'est pas un peu lourd, comme technique ?? Sachant que j'aurais maxi 2-3 variables, le truc c'est que je ne sais pas a l'avance combien j'en aurais a définir...

Dernière modification par philpep-tlse (Le 06/02/2008, à 16:01)


le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS

Hors ligne

#2 Le 06/02/2008, à 16:27

freebird

Re : [Shell]Définir des variables dont le nom est variable ??

J'ai pour habitude d'utiliser la commande eval

eval var$i=tagada

Hors ligne

#3 Le 06/02/2008, à 16:27

tuxce

Re : [Shell]Définir des variables dont le nom est variable ??

tu peux utiliser

eval var$i=f($i)

ou encore mieux, utiliser les tableaux:

while [ "$i" <= "$Nb" ]; do
          var[$i]=f($i)
          i=$(($i+1))
done

tu pourras y accéder:

echo ${var[0]}
echo ${var[1]}
# ....

ou

echo ${var[*]}

pour avoir tout le contenu

Hors ligne

#4 Le 06/02/2008, à 16:33

philpep-tlse

Re : [Shell]Définir des variables dont le nom est variable ??

grand merci, je suis content que la solution n'était pas a ma portée, je ne connaissais pas eval...


le "lol" est aux boulets ce que le ";" est aux programmeurs
blog | Wiki Fvwm | Essayez le Window Manager From Scatch | Topic WMFS

Hors ligne

#5 Le 06/02/2008, à 16:44

freebird

Re : [Shell]Définir des variables dont le nom est variable ??

Je suis d'accord avec tuxce, l'utilisation d'un tableau serait certainement mieux dans ton cas, même si on ne sait pas exactement ce que tu veux faire smile

Hors ligne

#6 Le 06/02/2008, à 17:33

Gari

Re : [Shell]Définir des variables dont le nom est variable ??

+1 pour le tableau, c'est tout de même ce qui semble le plus approprié vu le (peu documenté) contexte.

Hors ligne