Tindak lanjuti bagian latar belakang dalam pertanyaan ini .
Di bashsaya bisa gunakan ${!FOO}untuk substitusi ganda, di zsh ${(P)FOO}. Dalam keduanya, old-school (hack-y) eval \$$FOOberfungsi.
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 evalpernyataan itu? Saya pikir itu pelarian, membuat sesuatu yang eval \$$$FOOmustahil. Bagaimana melakukan substitusi tripel / n dengan yang bekerja di setiap shell?
l3=l2; eval eval eval echo \\\$\\$\$$l3→53294jadi tidak persis modular.