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