2011-07-17 13 views
19

संभव डुप्लिकेट:
Can ${var} parameter expansion expressions be nested in bash?बैश में पैरामीटर विस्तार निहित किया जा सकता है?

यह घोंसला खोल पैरामीटर विस्तार (${}) करना संभव है?

अगर मैं इस तरह कुछ करना चाहता हूँ:

foo=(1 2 3 4 5) 
echo ${${foo[@]/3/bar}:1} 

उत्तर

6

जहाँ तक मुझे पता है, यह घोंसला खोल पैरामीटर विस्तार करने के लिए संभव नहीं है। मुझे डर है कि आपको जो चाहिए उसे प्राप्त करने का एक और तरीका पता लगाना होगा। यदि आप कोड पोस्ट करते हैं, तो शायद हम आपकी मदद कर सकते हैं।

11

नहीं, आप नहीं कर सकते। (आप zsh में कर सकते हैं, लेकिन पार्टी, ksh या अन्य गोले में नहीं।)

आप एक मध्यवर्ती चर का उपयोग करने की आवश्यकता है:

foo=(1 2 3 4 5) 
tmp=("${foo[@]/3/bar}") 
echo "${tmp[@]:1}" 
संबंधित मुद्दे

 संबंधित मुद्दे