bash - Why does this for-loop not process all elements of the array? -


निम्न स्क्रिप्ट को देखते हुए:

  #! / Bin / bash asteriskFiles = ("sip .conf एक्सटेंशन के लिए "extensions.conf") $ asteriskFiles में फाइल करें वर्तमान बैकअप की वर्तमान विन्यास फाइल cp somepath / $ {asteriskFile} परीक्षा / प्रतिध्वनि "परीक्षण" किया   

यह मुझे आउटपुट देता है "परीक्षण" केवल एक बार, इसलिए लूप दो बार (तारांकन में दो प्रविष्टियों के बजाय केवल एक बार चलता है)। मैं क्या गलत कर रहा हूं? किसी भी संकेत के लिए धन्यवाद!

एक उदाहरण:

  $ asteriskFiles = ("Sip.conf" "extensions.conf") $ गूंज $ asteriskFiles $ समतुल्य $ {asteriskFiles [0]} के समान है sip.conf $ "$ {asteriskfiles [@]}" sip.conf extensions.conf गूंज   

ध्यान दें कि उद्धरण महत्वपूर्ण हैं प्रतिध्वनि $ {asteriskfiles [@]} काम करने लग सकता है, लेकिन यदि आपकी फ़ाइलों में से किसी भी स्थान में सफेद स्थान था, तो बाश को सफेद स्थान पर वर्णित किया जाएगा।

Comments