मैं एक सरणी के echo -e "a b\nc\nd e"
जैसे कमांड के आउटपुट को कनवर्ट करने की कोशिश कर रहा हूं।बैश में लाइन द्वारा कमांड आउटपुट को एक सरणी रेखा में कैसे परिवर्तित करें?
X=($(echo -e "a b\nc\nd e"))
विभाजन हर नई लाइन और रिक्त स्थान को चरित्र के लिए इनपुट:
$ echo ${#X[@]}
> 5
for i in ${X[@]} ; do echo $i ; done
a
b
c
d
e
परिणाम होना चाहिए:
for i in ${X[@]} ; do echo $i ; done
a b
c
d e
संभव डुप्लिकेट http://stackoverflow.com/questions/8750848/how-do-i-create-an-array-in -bash-from-a-command-variable) – Cascabel
कोई भी बेहतर डुप्लिकेट ढूंढने में सक्षम हो सकता है; यह सिर्फ सबसे हालिया है। इस सवाल को शायद कई बार पूछा गया है। – Cascabel