#1 Le 06/02/2008, à 14: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, à 15: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, à 15: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, à 15: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, à 15: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, à 15: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
Hors ligne
#6 Le 06/02/2008, à 16: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