跟踪该问题的背景部分。
在中,bash
我可以使用${!FOO}
双重替换zsh
${(P)FOO}
。在这两种方法中,老式的(hack-y)都eval \$$FOO
可以。
因此,对我来说,最聪明,最合乎逻辑的事情是${${FOO}}, ${${${FOO}}}…
使用double / triple / n替换。为什么这不能按预期工作?
二:什么是\
在做eval
陈述?我认为这是一种逃避,使eval \$$$FOO
不可能的事情变成现实。如何用在每个shell中都可以使用的三/ n替换?
l3=l2; eval eval eval echo \\\$\\$\$$l3
→53294
并非完全模块化。