इस प्रश्न में पृष्ठभूमि भाग का अनुसरण करें ।
में bashमैं ${!FOO}डबल प्रतिस्थापन के लिए उपयोग कर सकते हैं , में zsh ${(P)FOO}। दोनों में, पुराने स्कूल (हैक-वाई) eval \$$FOOकाम करता है।
तो, मेरे लिए सबसे चतुर और सबसे तार्किक बात ${${FOO}}, ${${${FOO}}}…डबल / ट्रिपल / एन प्रतिस्थापन के लिए होगी। यह काम उम्मीद के मुताबिक क्यों नहीं हुआ?
दूसरा: बयान \में क्या करता है eval? मुझे लगता है यह एक भागने है, eval \$$$FOOअसंभव जैसा कुछ बना रही है । प्रत्येक शेल में काम करने वाले ट्रिपल / एन प्रतिस्थापन के साथ कैसे करें?
l3=l2; eval eval eval echo \\\$\\$\$$l3→53294तो बिल्कुल मॉड्यूलर नहीं।