आप उपयोग कर सकते हैं eval
echo $(eval echo \${array_$a[0]})
ध्यान दें कि मैं पहली बार डॉलर चिह्न के सामने एक बैकस्लैश डाल करने के लिए रोकने के लिए किया था उस अंतर को खोलने से खोल।
कहने की जरूरत नहीं, सरणियों का पूरा उद्देश्य आप सभी उपद्रव के बिना चर प्रक्षेप के इस प्रकार करते हैं और गूंज evals की चिंता है कि मैं जब मैं मूल बॉर्न शैल के साथ सरणियों की जरूरत नहीं था की अनुमति है। के रूप में पहली चरित्र इंगित करता है कि आप अविवेक की एक अतिरिक्त स्तर का उपयोग करना चाहते चर का मूल्यांकन और उसके बाद के रूप में परिणाम का उपयोग करके
array_a=array_$a[0]
echo ${!array_a}
!
:
स्रोत
2013-08-14 03:53:15
क्या आप जानते हैं कि एक स्वयं एक सरणी है या नहीं। उदाहरण के लिए, मैं $ {array_2 [$ j]} –
@HaoShen के साथ $ a को प्रतिस्थापित करता हूं: समाधान के लिए ऐसा करने में कोई समस्या नहीं होनी चाहिए। – jxh
हाय, बहुत बहुत धन्यवाद। मैं बस अटक गया। अगर मैं एक चर को परिणाम असाइन करना चाहता हूं तो क्या होगा। उदाहरण के लिए, 'परिणाम = $ {' "array_ $ a [$ i]" '}' eval। यह काम नहीं करता है ... मेरे निरंतर बेवकूफ प्रश्न के लिए खेद है ... –