J’ai un petit script en bash à écrire qui consiste en gros en ceci:
j’ai des variables de ce genre affectées en début de script:
variable_1=xxx
variable_2=yyy
j’ai une fonction ma_fonc qui prend un argument.
et j’aimerais que cette fonction fonctionne de cette manière:
ma_fonc 1 doit renvoyer xxx
ma_fonc 2 doit renvoyer yyy
Or en fait je ne peux pas faire
function ma_fonc
{
echo $variable_$1
}
j’ai essayé plein d’autres syntaxes (avec quotes, doubles quotes, etc), mais pour l’instant je n’ai pas de solution.
Malheureusement je crois que non. En Bash oui mais pas en shell posix (d’après l’opengroup).[/quote] ben il faudrait savoir car l’intitulé de ton fil est « variables en bash »
toujours est il que :
$ bash --posix -c 'variable_1="V1";variable_2="v2";for a in 1 2; do v=variable_$a;echo ${!v};done'
V1
v2