बैश स्क्रिप्टिंग में इफ-एल्स स्टेटमेंट किसी भी अन्य प्रोग्रामिंग भाषा के समान होते हैं; यह प्रोग्राम को निर्णय लेने की एक विधि है।
if-else स्टेटमेंट में, स्टेटमेंट के एक ब्लॉक का निष्पादन if कंडीशन के परिणाम के आधार पर तय होता है।
बैश इफ-एल्स स्टेटमेंट सिंटैक्स
बैश में if-else स्टेटमेंट का सिंटैक्स है:
if [condition] then //if ब्लॉक कोड else // else ब्लॉक कोड fi यदि कंडीशन true का मूल्यांकन करती है, तो if ब्लॉक कोड निष्पादित होता है, और यदि कंडीशन false का मूल्यांकन करती है तो else ब्लॉक कोड निष्पादित होता है।
नोट: इफ ब्लॉक केवल तभी निष्पादित होता है जब कंडीशन true का मूल्यांकन करती है।
एल्स स्टेटमेंट और एल्स कोड ब्लॉक वैकल्पिक है।
हमें if स्टेटमेंट को fi कीवर्ड से समाप्त करना होगा।
शर्तीय तुलना
शर्तीय निर्माण द्वारा उपयोग किया जाने वाला एक्सप्रेशन या तो true या false का मूल्यांकन करना चाहिए। एक्सप्रेशन एक सिंगल स्ट्रिंग या वेरिएबल हो सकता है।
- कम है - द्वारा दर्शाया गया:
$a -lt $bया$a < $b - अधिक है - द्वारा दर्शाया गया:
$a -gt $bया$a > $b - कम या बराबर है - द्वारा दर्शाया गया:
$a -le $bया$a <= $b - अधिक या बराबर है - द्वारा दर्शाया गया:
$a -ge $bया$a >= $b - बराबर है - द्वारा दर्शाया गया:
$a -eq $bया$a == $b - बराबर नहीं है - द्वारा दर्शाया गया:
$a -ne $bया$a != $b
लॉजिकल ऑपरेटर्स
if स्टेटमेंट के भीतर का एक्सप्रेशन कई तुलनाओं का लॉजिकल संयोजन भी हो सकता है।
लॉजिकल ऑपरेटर्स हैं:
- लॉजिकल एंड - द्वारा दर्शाया गया
$a AND $bया$a && $bतबtrueका मूल्यांकन करता है जब दोनों वेरिएबल या स्टेटमेंट true हों। - लॉजिकल ऑर - द्वारा दर्शाया गया
$a OR $bया$a || $bतबtrueका मूल्यांकन करता है जब वेरिएबल या स्टेटमेंट में से कोई एक true हो।
नोट: लॉजिकल ऑपरेटर्स का उपयोग करते समय, शर्तीय एक्सप्रेशन को डबल ब्रैकेट [[ ]] से घिरा होना चाहिए।
उदाहरण के लिए:
#!/bin/bash first_name="John" last_name="Doe" if [[ $first_name = "John" && $last_name = "Doe" ]] then echo 'hello John Doe' fi बैश इफ उदाहरण
if स्टेटमेंट केवल एक साधारण शर्तीय स्टेटमेंट है। यदि if[] के भीतर की कंडीशन true का मूल्यांकन करती है तो if कोड ब्लॉक निष्पादित होता है।
उदाहरण:
#!/bin/bash read -p "Enter a number: " mynumber if [ $mynumber -gt 10 ] then echo "The number you entered is greater than 10" fi नोट: उपरोक्त उदाहरण में, यदि हम 10 से कम संख्या दर्ज करते हैं, तो कुछ भी प्रिंट नहीं होता।
बैश इफ-एल्स उदाहरण
जब if कंडीशन का परिणाम false होता है तो else ब्लॉक में कोड निष्पादित होता है, बशर्ते वह मौजूद हो।
उदाहरण के लिए:
#!/bin/bash read -p "Enter a number: " mynumber if [ $mynumber -gt 10 ] then echo "The number you entered is greater than 10" else echo "The number you entered is less than 10" fi बैश इफ-एलिफ-एल्स उदाहरण
elif (एल्स इफ) का उपयोग तब किया जाता है जब कई if कंडीशन होती हैं।
उदाहरण के लिए:
#!/bin/bash read -p "Enter your exam grade: " grade if [ $grade -ge 80 ] then echo "You got A" elif [ $grade -ge 70 ] then echo "You got B" elif [ $grade -ge 60 ] then echo "You got C" else echo "Fail" fi बैश नेस्टेड इफ उदाहरण
हम नेस्टेड if स्टेटमेंट भी रख सकते हैं।
उदाहरण के लिए:
#!/bin/bash read -p "Enter value of a :" a read -p "Enter value of b :" b read -p "Enter value of c :" c if [ $a -gt $b ] then if [ $a -gt $c ] then echo "a is greatest" else echo "c is greatest" fi else if [ $b -gt $c ] then echo "b is greatest" else echo "c is greatest" fi fi