Tindak lanjuti bagian latar belakang dalam pertanyaan ini .
Di bash
saya bisa gunakan ${!FOO}
untuk substitusi ganda, di zsh
${(P)FOO}
. Dalam keduanya, old-school (hack-y) eval \$$FOO
berfungsi.
Jadi, hal yang paling cerdas dan paling logis bagi saya adalah ${${FOO}}, ${${${FOO}}}…
substitusi ganda / tripel / n. Mengapa ini tidak bekerja seperti yang diharapkan?
Kedua: Apa yang \
dilakukan dalam eval
pernyataan itu? Saya pikir itu pelarian, membuat sesuatu yang eval \$$$FOO
mustahil. Bagaimana melakukan substitusi tripel / n dengan yang bekerja di setiap shell?
l3=l2; eval eval eval echo \\\$\\$\$$l3
→53294
jadi tidak persis modular.