एंड्रॉयड

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

प्रकरण विवरण - बैश स्क्रिप्टिंग 13 का परिचय

प्रकरण विवरण - बैश स्क्रिप्टिंग 13 का परिचय

विषयसूची:

Anonim

जब आपके पास कई अलग-अलग विकल्प होते हैं, तो बैश केस स्टेटमेंट का उपयोग आमतौर पर जटिल स्थिति को सरल बनाने के लिए किया जाता है। नेस्टेड के बजाय केस स्टेटमेंट का उपयोग करें यदि स्टेटमेंट्स आपकी बैश स्क्रिप्ट को अधिक पठनीय और बनाए रखने में आसान बनाने में मदद करेंगे।

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

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

केस स्टेटमेंट सिंटेक्स

बैश केस स्टेटमेंट निम्न रूप लेता है:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

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

केस स्टेटमेंट उदाहरण

यहाँ एक उदाहरण स्क्रिप्ट का उपयोग करके एक बश लिपि में किया गया है जो किसी देश की आधिकारिक भाषा को मुद्रित करेगा:

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

कस्टम स्क्रिप्ट को एक फ़ाइल के रूप में सहेजें और कमांड लाइन से चलाएं।

bash languages.sh

स्क्रिप्ट आपको किसी देश में प्रवेश करने के लिए कहेगी। उदाहरण के लिए, यदि आप "लिथुआनिया" टाइप करते हैं तो यह पहले पैटर्न से मेल खाएगा और उस क्लॉज में echo कमांड निष्पादित होगी।

स्क्रिप्ट निम्न आउटपुट प्रिंट करेगा:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

निष्कर्ष

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

बश टर्मिनल