Bash Scripting परिचय
Alex Scriven
Data Scientist
Bash में एक बेसिक IF स्टेटमेंट का ढाँचा इस तरह होता है:
if [ CONDITION ]; then# SOME CODEelse # SOME OTHER CODEfi
दो टिप्स:
]; लगाएँहम IF स्टेटमेंट में एक बेसिक स्ट्रिंग तुलना कर सकते हैं:
x="Queen"if [ $x == "King" ]; thenecho "$x is a King!"else echo "$x is not a King!" fi
Queen is not a King!
आप 'not equal to' के लिए != भी इस्तेमाल कर सकते हैं
Arithmetic IF स्टेटमेंट्स डबल-पैरेंथिसिस स्ट्रक्चर इस्तेमाल कर सकते हैं:
x=10if (($x > 5)); then echo "$x is more than 5!" fi
10 is more than 5!
Arithmetic IF स्टेटमेंट्स स्क्वेयर ब्रैकेट के साथ एरिथमेटिक फ्लैग भी ले सकते हैं, >, <, =, != आदि की जगह:
-eq-ne-lt-le-gt-geयहाँ हम पिछले उदाहरण को स्क्वेयर ब्रैकेट नोटेशन से दोहराते हैं:
x=10
if [ $x -gt 5 ]; then
echo "$x is more than 5!"
fi
10 is more than 5!
Bash में फ़ाइल-संबंधी कई फ्लैग होते हैं, जैसे:
-e अगर फ़ाइल मौजूद है-s अगर फ़ाइल मौजूद है और साइज़ शून्य से बड़ा है-r अगर फ़ाइल मौजूद है और रीडेबल है-w अगर फ़ाइल मौजूद है और राइटेबल हैऔर भी कई:
कंडीशन्स को AND/OR से जोड़ने के लिए ये सिंबल इस्तेमाल करें:
&&||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
आप कई कमांड-लाइन प्रोग्राम्स को सीधे कंडीशनल में भी इस्तेमाल कर सकते हैं, जहाँ आप स्क्वेयर ब्रैकेट हटा देते हैं.
उदाहरण के लिए, अगर words.txt फ़ाइल में 'Hello World!' है:
if grep -q Hello words.txt; then
echo "Hello is inside!"
fi
Hello is inside!
या आप अपने कंडीशनल के लिए शेल-विदिन-ए-शेल भी कॉल कर सकते हैं.
पिछला उदाहरण फिर से लिखते हैं; आउटपुट वही रहेगा.
if $(grep -q Hello words.txt); then
echo "Hello is inside!"
fi
Hello is inside!
Bash Scripting परिचय