Theo dõi phần nền trong câu hỏi này .
Trong bashtôi có thể sử dụng ${!FOO}để thay thế kép, trong zsh ${(P)FOO}. Trong cả hai, trường học cũ (hack-y) eval \$$FOOhoạt động.
Vì vậy, điều thông minh và hợp lý nhất đối với tôi sẽ là ${${FOO}}, ${${${FOO}}}…thay thế gấp đôi / gấp ba / n. Tại sao công việc này không như mong đợi?
Thứ hai: Những gì \làm trong evaltuyên bố? Tôi nghĩ đó là một lối thoát, làm cho một cái gì đó như eval \$$$FOOkhông thể. Làm thế nào để thay thế triple / n với cái đó hoạt động trong mọi shell?
l3=l2; eval eval eval echo \\\$\\$\$$l3→53294vì vậy không chính xác mô-đun.