Kontynuacja części podstawowej tego pytania .
W bashmogę użyć ${!FOO}do podwójnej zamiany, w zsh ${(P)FOO}. W obu działa stara szkoła (hack-y) eval \$$FOO.
Najmądrzejszą i najbardziej logiczną rzeczą byłoby dla mnie ${${FOO}}, ${${${FOO}}}…zastąpienie podwójnym / potrójnym / n. Dlaczego to nie działa zgodnie z oczekiwaniami?
Po drugie: co robi \w evaloświadczeniu? Myślę, że to ucieczka, która uniemożliwia coś takiego eval \$$$FOO. Jak zrobić potrójne / n podstawienie, które działa w każdej powłoce?
l3=l2; eval eval eval echo \\\$\\$\$$l3→53294więc nie do końca modułowy.