बैश केस स्टेटमेंट का उपयोग कैसे करें

How Use Bash Case Statement



बैश केस स्टेटमेंट इफ-इफ स्टेटमेंट के समान हैं लेकिन आसान और सरल हैं। यह कई मानों के विरुद्ध एक चर का मिलान करने में मदद करता है। इसका उपयोग तब किया जाता है जब आपको कई Elif स्टेटमेंट के साथ IF-else स्टेटमेंट की आवश्यकता होती है ... यह C में स्विच स्टेटमेंट के समान है, हालांकि पैटर्न का मिलान होने के बाद बैश केस स्टेटमेंट आगे नहीं बढ़ता है।

इस लेख में, हम बताएंगे कि लिनक्स ओएस में उदाहरण के साथ बैश केस स्टेटमेंट का उपयोग कैसे करें।







बैश केस स्टेटमेंट का सिंटैक्स

यहाँ बैश केस स्टेटमेंट का सिंटैक्स है:



वाक्य - विन्यास:



मामला $ चर में
पैटर्न-1)
आदेशों
;;
पैटर्न-2)
आदेशों
;;
पैटर्न-3)
आदेशों
;;
पैटर्न-एन)
आदेशों
;;
*)
आदेशों
;;
esac
  • केस स्टेटमेंट केस से शुरू होता है और esac . पर खत्म होता है
  • ) एक पैटर्न को समाप्त करने के लिए प्रयोग किया जाता है। एकाधिक पैटर्न को अलग करने के लिए | जैसा कि नीचे दिखाया गया है ऑपरेटर का उपयोग किया जाता है:
मामला $ चर में
पैटर्न-1|पैटर्न-2)
आदेशों
....
....
;;
पैटर्न-3|पैटर्न-4)
आदेशों
....
....
;;
  • कमांड वाले पैटर्न को क्लॉज के रूप में जाना जाता है और प्रत्येक क्लॉज (;;) के साथ समाप्त होता है।
  • डिफ़ॉल्ट मामले को परिभाषित करने के लिए तारांकन चिह्न * का उपयोग किया जा सकता है।
  • बैश केस स्टेटमेंट पहले अलग-अलग पैटर्न के साथ इनपुट $variable से मेल खाता है। यदि एक पैटर्न का मिलान किया जाता है, तो डबल अर्धविराम (;;) तक के कमांड के संगत सेट को निष्पादित किया जाएगा।

उदाहरण 1:

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





इस स्क्रिप्ट का उपयोग करने के लिए, एक साधारण टेक्स्ट फ़ाइल बनाएं; इसे .sh फ़ाइल एक्सटेंशन के साथ नाम दें। इसमें निम्न स्क्रिप्ट जोड़ें और इसे सहेजें। फिर टर्मिनल में निम्न आदेश चलाकर अनुमतियों को निष्पादित करने के लिए इस फ़ाइल को असाइन करें:

$सुडो चामोद 777फ़ाइल नाम.sh

इस बैश फ़ाइल को निष्पादित करने के लिए, बस चलाएँ ./ उसके बाद बैश फ़ाइल नाम निम्नानुसार है:



$./फ़ाइल नाम.sh

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

ध्यान दें कि shopt -s nocasematch का उपयोग पैटर्न से मेल खाने के लिए किया जाता है, चाहे उसका मामला कुछ भी हो।

दुकानें -एसनोकेसमैच

फेंक दिया 'महीने का नाम दर्ज करें'
पढ़नामहीना
मामला $माह में
जनवरी)
फेंक दिया ' 24 जनवरी अंतर्राष्ट्रीय शिक्षा दिवस।'
;;
फ़रवरी)
फेंक दिया ' 20 फरवरीविश्व सामाजिक न्याय दिवस।'
;;
जुलूस)
फेंक दिया '8 मार्च अंतर्राष्ट्रीय महिला दिवस।'
;;
अप्रैल)
फेंक दिया '7 अप्रैल विश्व स्वास्थ्य दिवस'
;;
मई)
फेंक दिया '15 मई अंतर्राष्ट्रीय परिवार दिवस'
;;
जून)
फेंक दिया '20 जून विश्व शरणार्थी दिवस'
;;
जुलाई)
फेंक दिया '11 जुलाई विश्व जनसंख्या दिवस'
;;
*)
फेंक दिया 'कोई मेल खाने वाली जानकारी नहीं मिली'
;;
esac

उदाहरण 2:

निम्नलिखित उदाहरण बैश कैश स्टेटमेंट के बारे में है जिसमें उपयोगकर्ता को देश का नाम इनपुट करने के लिए कहा जाता है। यदि यह इनपुट स्क्रिप्ट में परिभाषित पैटर्न से मेल खाता है, तो संबंधित इको कमांड निष्पादित किया जाएगा। इको कमांड उस विशेष देश की राजधानी के बारे में जानकारी प्रदर्शित करेगा।

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

#!/बिन/बैश
दुकानें -एसनोकेसमैच
फेंक दिया -एन 'देश का नाम दर्ज करें:'
पढ़नादेश

फेंक दिया -एन 'की राजधानी$देशहै '
मामला $देश में
पाकिस्तान)
फेंक दिया -एन 'इस्लामाबाद'
;;
फ़िजी)
फेंक दिया -एन 'सूखा'
;;
यूके| 'यूनाइटेड किंगडम')
फेंक दिया -एन 'लंडन'
;;
तुर्की)
फेंक दिया -एन अंकारा
;;
उपयोग)
फेंक दिया -एन 'वाशिंगटन डी सी'
;;
*)
फेंक दिया -एन 'जानकारी उपलब्ध नहीं है'
;;
esac
फेंक दिया ''

बैश केस स्टेटमेंट बैश-स्क्रिप्ट को पढ़ने और समझने में आसान बनाते हैं। इस लेख में, हमने कवर किया है कि बैश केस स्टेटमेंट कैसे लिखना और उपयोग करना है। अब आप केस स्टेटमेंट के उपयोग से आसानी से और सरलता से मल्टीलेवल इफ-स्टेटमेंट लिख सकते हैं।