दिलचस्प पोस्ट
उपयोगकर्ता के नाम और पासवर्ड को कुचलने के साथ कैसे बचाया जाए? आखिरी पंक्ति में फ्लेक्स आइटम को लक्षित करना कैसे bcrypt बनाया है में नमक? HTML5 स्थानीय स्टोरेज सुरक्षा दिनांक स्ट्रिंग से समय निकालें स्क्रिप्ट को mysql डंप एसक्यूएल फ़ाइल को रूपरेखा में रूपांतरित करने के लिए जो कि सिकलाइट 3 डीबी में आयात किया जा सकता है चींटी के साथ एक बंडल जार बनाना आइटम के लिए अभिभावक पुनर्प्राप्त करने में त्रुटि: कोई संसाधन नहीं मिला जो AppCompat v23 को अपग्रेड करने के बाद दिए गए नाम से मेल खाता है एक XML फ़ाइल के आधार पर MVC 3 में गतिशील रूप से नियंत्रण कैसे बनाएं कैसे माता पिता div में अस्पष्टता सेट करने के लिए और बच्चे div में प्रभावित नहीं? कैसे सी कार्यक्रम में तारीख और समय मूल्य प्राप्त करने के लिए Android पर किसी आशय के माध्यम से किसी भी प्रकार की फ़ाइल को चुनें मीडिया प्रश्नों का क्रम सीएसएस में क्यों होता है? अजगर में एक फ़ाइल का माइम प्रकार कैसे पाता है? SQLite में धुरी

बैश – वैरिएबल वैरिएबल

मेरे पास चर $foo="something" और इसका उपयोग करना चाहेंगे:

 bar="foo"; echo $($bar) 

"कुछ" को प्रतिध्वनित करने के लिए

वेब के समाधान से एकत्रित समाधान "बैश – वैरिएबल वैरिएबल"

बैश में, आप वेरिएबल वैरिएबल का उपयोग करने के लिए $ {! Variable} का उपयोग कर सकते हैं।

 foo="something" bar="foo" echo "${!bar}" 

स्वीकृत उत्तर महान है हालांकि, एडीसन ने पूछा कि कैसे सरणियों के लिए ऐसा करना है। चाल यह है कि आप चाहते हैं कि आपके चर "[@]" धारण करें, ताकि सरणी "!" के साथ विस्तारित हो चर को डंप करने के लिए इस फ़ंक्शन को देखें:

 $ function dump_variables() { for var in "$@"; do echo "$var=${!var}" done } $ STRING="Hello World" $ ARRAY=("ab" "cd") $ dump_variables STRING ARRAY ARRAY[@] 

यह आउटपुट:

 STRING=Hello World ARRAY=ab ARRAY[@]=ab cd 

जब सिर्फ ARRAY रूप में दिया जाता है, तो पहला तत्व दिखाया जाता है कि इसका विस्तार क्या है !ARRAY[@] प्रारूप देकर, आप सरणी प्राप्त करते हैं और इसके सभी मूल्यों का विस्तार किया जाता है

eval echo \"\$$bar\" यह कर सकता है।

एरे के साथ इसे कैसे करना है, इसे और अधिक स्पष्ट करने के लिए:

 arr=( 'a' 'b' 'c' ) # construct a var assigning the string representation # of the variable (array) as its value: var=arr[@] echo "${!var}"