|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Technicien réseau Inscription : avril 2011 Messages : 15 ![]() |
Bonjour,
voici le script que j'étudie et qui fonctionne (script trouvé dans l'abs-guide, et qui illustre l'utilisation de eval) Code :
je ne comprends pas pourquoi ce script ne fonctionne plus si on remplace la ligne Code :
eval array_member=\${arr${array_number}[element_number]} Code :
array_member=${arr${array_number}[element_number]} Code :
${arr${array_number}[element_number]}: bad substitution Merci d'avance |
||
|
|
01
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
c'est parcequ'ici Code :
array_member="${arr${array_number}[element_number]}" Code :
eval array_member="\${arr${array_number}[element_number]}" ... ? |
|
|
20
|
|
|
#3 | |
|
Futur Membre du Club
![]() Technicien réseau Inscription : avril 2011 Messages : 15 ![]() |
Citation:
j'en déduis que toute initialisation dans le shell du type variable= quelque chose comportant plus de une substitution va échouer systématiquement ? C'est ce que je comprends dans ta réponse Effectivement le premier $ est protégé par le \: donc le shell n'a plus le choix Ensuite avec eval ce $ est interprété et donne le résultat Est cela qu'il fallait comprendre ? Pourrais tu me répondre sur les 2 points que je sois sûr d'avoir bien compris ! Merci |
|
|
|
11
|
|
|
#4 | ||
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
a) Citation:
Code :
var=foo var1=bar foobar=baz; eval echo "\${foo$var1}" b) Citation:
|
||
|
|
30
|
|
|
#5 | |
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
Voici à propos de l'indirection :
Citation:
ben
__________________
Meet the free software gang |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com