मैं कमांड-लाइन आर्ग्युमेंट्स को बैश स्क्रिप्ट ऐरे में कैसे बदल सकता हूँ?
मैं इसे लेना चाहता हूं:
./something.sh arg1 arg2 arg3
और इसे करने के लिए परिवर्तित
myArray=( arg1 arg2 arg3 )
ताकि मैं स्क्रिप्ट में आगे उपयोग के लिए myArray का उपयोग कर सकूं।
यह पिछला SO पोस्ट करीब आता है, लेकिन यह सरणी बनाने के तरीके में नहीं जाता है: मैं कैसे बैश में कमांड लाइन तर्क को पार्स कर सकता हूं?
मुझे तर्कों को एक नियमित बैश स्क्रिप्ट सरणी में बदलने की आवश्यकता है; मुझे लगता है कि मैं अन्य भाषाओं (उदाहरण के लिए पायथन) का उपयोग कर सकता हूं, लेकिन इसे बाश में करने की आवश्यकता है। मुझे लगता है कि मैं "एपेंड" फ़ंक्शन या कुछ इसी तरह की तलाश में हूं?
अद्यतन: मैं यह भी पूछना चाहता था कि शून्य तर्कों की जांच कैसे करें और एक डिफ़ॉल्ट सरणी मान असाइन करें, और नीचे दिए गए उत्तर के लिए धन्यवाद, यह काम पाने में सक्षम था:
if [ "$#" -eq 0 ]; then
myArray=( defaultarg1 defaultarg2 )
else
myArray=( "$@" )
fi