Seguito dato alla parte di fondo di questa domanda .
In bashposso usare ${!FOO}per la doppia sostituzione, in zsh ${(P)FOO}. In entrambi, la vecchia scuola (hack-y) eval \$$FOOfunziona.
Quindi, la cosa più intelligente e più logica per me sarebbe la ${${FOO}}, ${${${FOO}}}…sostituzione doppia / tripla / n. Perché questo non funziona come previsto?
Secondo: cosa fa \la evaldichiarazione? Credo che sia una via di fuga, rendendo qualcosa di eval \$$$FOOimpossibile. Come fare una sostituzione tripla / n con quella che funziona in ogni shell?
l3=l2; eval eval eval echo \\\$\\$\$$l3→53294quindi non esattamente modulare.