Guillaume Desclaux wrote:
Daniel Caillibaud wrote:
Ca incite à poser une question bête : comment faire du ${$a} en bash ?
du genre a=toto; b=a; echo ${$b} qui renverrai toto...
et si tu faisais
i=0 for arg in "$@"; do parameters[$i]=$arg i=`expr $i + 1` done
Tu peux ensuite faire b=1 echo ${parameters[$b]}
Ca te va ?
Apparemment (j'ai lu pas mal de truc, dont http://www-phase.c-strasbourg.fr/inform/linux/cours/user/node12.html#SECTION... avec un tableau qui résume bien), il n'y a pas de solution directe à un nom de variable lui-même variable, comme dans
$ a=toto; b=tata; c=titi; var=b; echo ${${var}} bash: ${${var}}: bad substitution
mais ta solution permet de contourner le pb en utilisant des index
$ val[0]=toto; val[1]=tata; val[2]=titi; i=2; echo ${val[$i]} titi
et on peut même avoir des clés alphanumérique
$ val[a]=toto; val[b]=tata; val[c]=titi; var=b; echo ${val[$var]} titi
Ce qui répond à mon pb initial. -- Daniel