Bonjour,
voici le script que j'étudie et qui fonctionne (script trouvé dans l'abs-guide, et qui illustre l'utilisation de eval)
Ma question est courte et précise:
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 ********************** #!/bin/bash arr0=( 10 11 12 13 14 15 ) arr1=( 20 21 22 23 24 25 ) find_member () { eval array_member=\${arr${array_number}[element_number]} echo Element $array_member } array_number=1 element_number=5 find_member # réponse 25 exit 0 **********************
je ne comprends pas pourquoi ce script ne fonctionne plus si on remplace la ligne
par la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part eval array_member=\${arr${array_number}[element_number]}
Dans ce cas, il y a le message d'erreur suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part array_member=${arr${array_number}[element_number]}
C'est certainement tout l'intérêt d'eval, mais je ne le comprends pas justement
Code : Sélectionner tout - Visualiser dans une fenêtre à part ${arr${array_number}[element_number]}: bad substitution
Merci d'avance
Partager