IF statements

Bash Scripting परिचय

Alex Scriven

Data Scientist

A basic IF statement

Bash में एक बेसिक IF स्टेटमेंट का ढाँचा इस तरह होता है:

if [ CONDITION ]; then

# SOME CODE
else # SOME OTHER CODE
fi

दो टिप्स:

  • स्क्वेयर ब्रैकेट और अंदर के कंडीशनल एलिमेंट्स के बीच स्पेस रखें (पहली लाइन)
  • क्लोज-ब्रैकेट के बाद सेमी-कोलन ]; लगाएँ
Bash Scripting परिचय

IF statement and strings

हम IF स्टेटमेंट में एक बेसिक स्ट्रिंग तुलना कर सकते हैं:

x="Queen"

if [ $x == "King" ]; then
echo "$x is a King!"
else echo "$x is not a King!" fi
Queen is not a King!

आप 'not equal to' के लिए != भी इस्तेमाल कर सकते हैं

Bash Scripting परिचय

Arithmetic IF statements (option 1)

Arithmetic IF स्टेटमेंट्स डबल-पैरेंथिसिस स्ट्रक्चर इस्तेमाल कर सकते हैं:

x=10

if (($x > 5)); then echo "$x is more than 5!" fi
10 is more than 5!
Bash Scripting परिचय

Arithmetic IF statements (option 2)

Arithmetic IF स्टेटमेंट्स स्क्वेयर ब्रैकेट के साथ एरिथमेटिक फ्लैग भी ले सकते हैं, >, <, =, != आदि की जगह:

  • 'equal to' के लिए -eq
  • 'not equal to' के लिए -ne
  • 'less than' के लिए -lt
  • 'less than or equal to' के लिए -le
  • 'greater than' के लिए -gt
  • 'greater than or equal to' के लिए -ge
Bash Scripting परिचय

Arithmetic IF statement example

यहाँ हम पिछले उदाहरण को स्क्वेयर ब्रैकेट नोटेशन से दोहराते हैं:

x=10
if [ $x -gt 5 ]; then
    echo "$x is more than 5!"
fi
10 is more than 5!
Bash Scripting परिचय

Other Bash conditional flags

Bash में फ़ाइल-संबंधी कई फ्लैग होते हैं, जैसे:

  • -e अगर फ़ाइल मौजूद है
  • -s अगर फ़ाइल मौजूद है और साइज़ शून्य से बड़ा है
  • -r अगर फ़ाइल मौजूद है और रीडेबल है
  • -w अगर फ़ाइल मौजूद है और राइटेबल है

और भी कई:

Bash Scripting परिचय

Using AND and OR in Bash

 

कंडीशन्स को AND/OR से जोड़ने के लिए ये सिंबल इस्तेमाल करें:

  • AND के लिए &&
  • OR के लिए ||
Bash Scripting परिचय

Multiple conditions

Bash में आप कंडीशनल्स को इस तरह चेन कर सकते हैं:

x=10
if [ $x -gt 5 ] && [ $x -lt 11 ]; then
    echo "$x is more than 5 and less than 11!"
fi

या डबल-स्क्वेयर-ब्रैकेट नोटेशन प्रयोग करें:

x=10
if [[ $x -gt 5 && $x -lt 11 ]]; then
    echo "$x is more than 5 and less than 11!"
fi
Bash Scripting परिचय

IF and command-line programs

आप कई कमांड-लाइन प्रोग्राम्स को सीधे कंडीशनल में भी इस्तेमाल कर सकते हैं, जहाँ आप स्क्वेयर ब्रैकेट हटा देते हैं.

उदाहरण के लिए, अगर words.txt फ़ाइल में 'Hello World!' है:

if grep -q Hello words.txt; then
    echo "Hello is inside!"
fi
Hello is inside!
Bash Scripting परिचय

IF with shell-within-a-shell

या आप अपने कंडीशनल के लिए शेल-विदिन-ए-शेल भी कॉल कर सकते हैं.

पिछला उदाहरण फिर से लिखते हैं; आउटपुट वही रहेगा.

if $(grep -q Hello words.txt); then
    echo "Hello is inside!"
fi
Hello is inside!
Bash Scripting परिचय

अभ्यास करते हैं!

Bash Scripting परिचय

Preparing Video For Download...