Salut à tous,
je souhaite accéder à la valeur d'une variable créée dans un script à partir d'une variable $prefixe et d'une variable $suffixe.

pour cela , j'utilise la commande eval afin de faire subir une double évaluation à la ligne contenant le nom de ma variable d'intérêt. Or je viens de voir dans un script bash une autre syntaxe qui semble pouvoir permettre de faire ça : $[var] .
voici le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
  1 #!/bin/bash
  2 
  3 #nom de la variable dont la valeur m interesse
  4 prefixe_suffixe='9000'
  5 var1="prefixe"
  6 var2="suffixe"
  7 
  8 #creation du nom de la variable d interet
  9 var_full="${var1}_${var2}"
 10 echo $var_fulldd
 11 
 12 #syntaxe 1 : double evaluation avec eval
 13 eval "echo \$${var_full}"
 14 
 15 
 16 #syntaxe 2 : ??
 17 echo $[$var_full]

et voici le résultat de son exécution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
[benoit@benoit src]$ bash -x testVariables.sh 
+ prefixe_suffixe=9000
+ var1=prefixe
+ var2=suffixe
+ var_full=prefixe_suffixe
+ echo
 
+ eval 'echo $prefixe_suffixe'
++ echo 9000
9000
+ echo 9000
9000
Je ne connaissais pas cette seconde syntaxe, quelle est la différence avec la première, laquelle vaut il mieux privilégier ?
merci d'avance,
ben