बैश कंडीशनल स्टेटमेंट इस पर निर्भर करता है कि प्रोग्रामर-निर्दिष्ट बूलियन कंडीशन सही या गलत का मूल्यांकन करता है या नहीं, इसके आधार पर अलग-अलग कंप्यूटेशंस या एक्शन करता है। इन कथनों का उपयोग आपके शेल प्रोग्राम के विभिन्न भागों को निष्पादित करने के लिए किया जाता है, जो इस बात पर निर्भर करता है कि कुछ शर्तें सही हैं या नहीं। शाखा करने की क्षमता शेल स्क्रिप्ट को शक्तिशाली बनाती है।
बैश में, हमारे पास निम्नलिखित सशर्त कथन हैं:
- if..then..fi स्टेटमेंट (सरल अगर)
- if..then..else..fi स्टेटमेंट (अगर-अन्य)
- if..elif..else..fi स्टेटमेंट (एल्स इफ लैडर)
- अगर..तो..और..अगर..तो..fi..fi..(नेस्टेड अगर)
ये awk if स्टेटमेंट के समान हैं जिन पर हमने पहले चर्चा की थी।
<एच3>1. बैश अगर..तो..फाई स्टेटमेंटif [ conditional expression ] then statement1 statement2 . fi
इस यदि कथन को सरल यदि कथन भी कहा जाता है। यदि दी गई सशर्त अभिव्यक्ति सत्य है, तो यह कीवर्ड "then" और "fi" के बीच संलग्न कथनों को दर्ज करती है और निष्पादित करती है। यदि दी गई अभिव्यक्ति शून्य लौटाती है, तो परिणामी विवरण सूची निष्पादित की जाती है।
यदि तब फाई उदाहरण:
#!/bin/bash count=100 if [ $count -eq 100 ] then echo "Count is 100" fi<एच3>2. बैश अगर..तो..और..फाई स्टेटमेंट
If [ conditional expression ] then statement1 statement2 . else statement3 statement4 . fi
यदि सशर्त अभिव्यक्ति सत्य है, तो यह कथन 1 और 2 को निष्पादित करता है। यदि सशर्त अभिव्यक्ति शून्य लौटाती है, तो यह दूसरे भाग में कूद जाती है, और कथन 3 और 4 निष्पादित करती है। if/else भाग के निष्पादन के बाद, निष्पादन परिणामी बयानों के साथ फिर से शुरू होता है।
अगर तो और फाई उदाहरण:
<केंद्र> केंद्र>#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else echo "Count is not 100" fi
नोट: यह लेख चल रहे बैश ट्यूटोरियल श्रृंखला का हिस्सा है।
<एच3>3. बैश अगर..elif..else..fiIf [ conditional expression1 ] then statement1 statement2 . elif [ conditional expression2 ] then statement3 statement4 . . . else statement5 fi
आप इसका उपयोग कर सकते हैं if .. elif.. if , यदि आप निष्पादित करने के लिए कोड के कई ब्लॉकों में से एक का चयन करना चाहते हैं। यह एक्सप्रेशन 1 की जांच करता है, यदि यह सत्य है तो स्टेटमेंट 1,2 निष्पादित करता है। यदि एक्सप्रेशन 1 गलत है, तो यह एक्सप्रेशन 2 की जांच करता है, और यदि सभी एक्सप्रेशन गलत हैं, तो यह अन्य ब्लॉक में प्रवेश करता है और अन्य ब्लॉक में स्टेटमेंट निष्पादित करता है।
अगर फिर एलिफ तो और फाई उदाहरण:
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" elif [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi<एच3>4. बैश अगर..तो..और..अगर..तो..fi..fi...
If [ conditional expression1 ] then statement1 statement2 . else if [ conditional expression2 ] then statement3 . fi fi
यदि कथन और अन्य कथन को बैश में नेस्ट किया जा सकता है। कीवर्ड "fi" इनर के अंत को इंगित करता है यदि कथन और सभी यदि कथन कीवर्ड "fi" के साथ समाप्त होना चाहिए।
जैसा कि नीचे दिखाया गया है, ऊपर वर्णित "ifthen elif then else fi" उदाहरण नेस्टेड में परिवर्तित किया जा सकता है।
#!/bin/bash count=99 if [ $count -eq 100 ] then echo "Count is 100" else if [ $count -gt 100 ] then echo "Count is greater than 100" else echo "Count is less than 100" fi fi
हमारे अगले लेख में, हम व्यावहारिक उदाहरणों के साथ बैश सशर्त अभिव्यक्तियों का उपयोग करने के तरीके के बारे में चर्चा करेंगे।
अनुशंसित पठन
बैश 101 हैक्स, रमेश नटराजन द्वारा . मैं अपना अधिकांश समय लिनक्स पर्यावरण पर बिताता हूं। इसलिए, स्वाभाविक रूप से मैं बैश कमांड लाइन और शेल स्क्रिप्टिंग का बहुत बड़ा प्रशंसक हूं। 15 साल पहले, जब मैं * निक्स के विभिन्न स्वादों पर काम कर रहा था, मैं सी शेल और कॉर्न शेल पर बहुत सारे कोड लिखता था। बाद के वर्षों में, जब मैंने लिनक्स पर सिस्टम एडमिनिस्ट्रेटर के रूप में काम करना शुरू किया, तो मैंने बैश शेल स्क्रिप्टिंग का उपयोग करके हर संभव कार्य को स्वचालित रूप से स्वचालित कर दिया। अपने बैश अनुभव के आधार पर, मैंने बैश 101 हैक्स ईबुक लिखी है जिसमें बैश कमांड लाइन और शेल स्क्रिप्टिंग दोनों पर 101 व्यावहारिक उदाहरण हैं। यदि आप बैश में महारत हासिल करने के बारे में सोच रहे हैं, तो अपने आप पर एक एहसान करें और इस पुस्तक को पढ़ें, जो आपकी बैश कमांड लाइन और शेल स्क्रिप्टिंग को नियंत्रित करने में आपकी मदद करेगी।