Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

बैश ऐरे - बैश स्क्रिप्ट में स्ट्रिंग्स की एक सरणी कैसे घोषित करें?

बैश स्क्रिप्ट आपको कमांड लाइन कार्यों को स्वचालित करने का एक सुविधाजनक तरीका देती है।

बैश के साथ, आप वही काम कर सकते हैं जो आप अन्य स्क्रिप्टिंग या प्रोग्रामिंग भाषाओं में करेंगे। आप चर बना सकते हैं और उनका उपयोग कर सकते हैं, लूप निष्पादित कर सकते हैं, सशर्त तर्क का उपयोग कर सकते हैं और डेटा को सरणियों में संग्रहीत कर सकते हैं।

जबकि कार्यक्षमता बहुत परिचित हो सकती है, बैश का सिंटैक्स मुश्किल हो सकता है। इस लेख में, आप सीखेंगे कि सरणियों को कैसे घोषित किया जाए और फिर उन्हें अपने कोड में कैसे उपयोग किया जाए।

बैश में एक सरणी कैसे घोषित करें

बैश में एक सरणी घोषित करना आसान है, लेकिन सिंटैक्स पर ध्यान दें। यदि आप अन्य भाषाओं में प्रोग्रामिंग के अभ्यस्त हैं, तो कोड परिचित लग सकता है, लेकिन सूक्ष्म अंतर हैं जो आसानी से छूट जाते हैं।

अपनी सरणी घोषित करने के लिए, इन चरणों का पालन करें:

  1. अपनी सरणी को एक नाम दें
  2. उस चर नाम का एक समान चिह्न के साथ अनुसरण करें। समान चिह्न नहीं होना चाहिए इसके आस-पास कोई जगह हो
  3. सरणी को कोष्ठक में संलग्न करें (जावास्क्रिप्ट की तरह कोष्ठक नहीं)
  4. उद्धरणों का उपयोग करके अपने तार टाइप करें, लेकिन बिना अल्पविराम के उनके बीच

आपकी सरणी घोषणा कुछ इस तरह दिखाई देगी:

myArray=("cat" "dog" "mouse" "frog)

इतना ही! यह इतना आसान है।

बैश में किसी सरणी को कैसे एक्सेस करें

आपके सरणी के माध्यम से लूप करने के कुछ अलग तरीके हैं। आप या तो तत्वों के माध्यम से लूप कर सकते हैं, या इंडेक्स के माध्यम से लूप कर सकते हैं।

सरणी तत्वों के माध्यम से कैसे लूप करें

सरणी तत्वों के माध्यम से लूप करने के लिए, आपके कोड को कुछ इस तरह दिखना होगा:

for str in ${myArray[@]}; do
  echo $str
done

इसे तोड़ने के लिए:यह कुछ हद तक forEach . का उपयोग करने जैसा है जावास्क्रिप्ट में। सरणी (myArray) में प्रत्येक स्ट्रिंग (str) के लिए, उस स्ट्रिंग को प्रिंट करें।

इस लूप का आउटपुट इस तरह दिखता है:

cat
dog
mouse
frog

नोट :@ वर्गाकार कोष्ठकों में प्रतीक इंगित करता है कि आप सभी . के माध्यम से लूप कर रहे हैं सरणी में तत्वों की। यदि आप इसे छोड़ दें और बस लिखें for str in ${myArray} , सरणी में केवल पहली स्ट्रिंग मुद्रित की जाएगी।

सरणी सूचकांकों के माध्यम से कैसे लूप करें

वैकल्पिक रूप से, आप सरणी के सूचकांकों के माध्यम से लूप कर सकते हैं। यह for . जैसा है जावास्क्रिप्ट में लूप, और तब उपयोगी होता है जब आप प्रत्येक तत्व की अनुक्रमणिका तक पहुँचने में सक्षम होना चाहते हैं।

इस पद्धति का उपयोग करने के लिए, आपके कोड को कुछ इस तरह दिखना होगा:

for i in ${!myArray[@]}; do
  echo "element $i is ${myArray[$i]}"
done

आउटपुट इस तरह दिखेगा:

element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog

नोट :myArray . की शुरुआत में विस्मयादिबोधक चिह्न चर इंगित करता है कि आप सूचकांक . तक पहुंच रहे हैं सरणी के और तत्वों को स्वयं नहीं। यह भ्रमित करने वाला हो सकता है यदि आप विस्मयादिबोधक चिह्न के अभ्यस्त हैं जो निषेध का संकेत देता है, तो उस पर ध्यान दें।

एक और नोट :बैश को आमतौर पर चर के लिए घुंघराले ब्रेसिज़ की आवश्यकता नहीं होती है, लेकिन यह सरणियों के लिए करता है। तो आप देखेंगे कि जब आप किसी सरणी का संदर्भ देते हैं, तो आप सिंटैक्स ${myArray} के साथ ऐसा करते हैं , लेकिन जब आप किसी स्ट्रिंग या संख्या का संदर्भ देते हैं, तो आप केवल एक डॉलर चिह्न का उपयोग करते हैं:$i

निष्कर्ष

स्वचालित कमांड लाइन व्यवहार बनाने के लिए बैश स्क्रिप्ट उपयोगी हैं, और सरणियाँ एक बेहतरीन उपकरण हैं जिनका उपयोग आप डेटा के कई टुकड़ों को संग्रहीत करने के लिए कर सकते हैं।

उन्हें घोषित करना और उनका उपयोग करना कठिन नहीं है, लेकिन यह अन्य भाषाओं से अलग है, इसलिए गलती करने से बचने के लिए पूरा ध्यान दें।


  1. लूप कमांड के लिए बैश का उपयोग कैसे करें

    प्रौद्योगिकी के साथ अपने जीवन को आसान बनाने के सर्वोत्तम तरीकों में से एक, चाहे वह काम पर हो या घर पर, स्वचालन का उपयोग करना है। स्क्रिप्ट और समयबद्ध नौकरियों के साथ कार्यों को स्वचालित करना आपको समय, सिरदर्द और प्रयास बचाने का एक निश्चित तरीका है। हालांकि, यह तुरंत स्पष्ट नहीं है कि कहां से शुरू कि

  1. बैश स्लीप - शेल स्क्रिप्ट कैसे बनाएं एन सेकंड प्रतीक्षा करें (उदाहरण कमांड)

    जब आप एक शेल स्क्रिप्ट लिख रहे होते हैं, तो आप पा सकते हैं कि आगे बढ़ने से पहले आपको कुछ सेकंड प्रतीक्षा करने की आवश्यकता है। उदाहरण के लिए, हो सकता है कि आप किसी प्रक्रिया के पूर्ण होने तक या किसी विफल कमांड को पुनः प्रयास करने से पहले स्क्रिप्ट की प्रतीक्षा करना चाहें। ऐसा करने के लिए, आप बहुत ह

  1. लूप के दौरान बैश स्क्रिप्ट में फ़ाइल पढ़ने के विभिन्न तरीके

    यह लेख इस बारे में है कि लूप के दौरान . का उपयोग करके बैश स्क्रिप्ट में फ़ाइलों को कैसे पढ़ा जाए . प्रोग्रामिंग में एक फाइल पढ़ना एक सामान्य ऑपरेशन है। आपको विभिन्न विधियों से परिचित होना चाहिए और कौन सी विधि उपयोग करने के लिए अधिक कुशल है। बैश में, एक कार्य को कई तरीकों से प्राप्त किया जा सकता है ल