Linux कमांड लाइन में दक्षता · पाठ

सशर्त कथन: `if`, `else`, `case`

विभिन्न सशर्त संरचनाओं का उपयोग करके अपनी स्क्रिप्ट में निर्णय लेने का तर्क लागू करें।

पाठ 2, कुल 4 में से11 चरण

सशर्त कथन: `if`, `else`, `case`, CoddyKit पर Linux कमांड लाइन में दक्षता का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Linux कमांड लाइन में दक्षता सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Linux कमांड लाइन में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्क्रिप्ट में निर्णय लेना

शेल स्क्रिप्टिंग में, जीवन की तरह, आपको अक्सर निर्णय लेने पड़ते हैं। सशर्त कथन आपकी स्क्रिप्ट को इस आधार पर अलग-अलग कमांड चलाने देते हैं कि कोई निश्चित शर्त सही है या गलत।

लचीली और शक्तिशाली स्क्रिप्ट बनाने के लिए यह बहुत महत्वपूर्ण है, क्योंकि ऐसी स्क्रिप्ट अलग-अलग परिस्थितियों या उपयोगकर्ता के इनपुट के अनुसार ढल सकती हैं।

मूल `if` कथन

सबसे सरल सशर्त कथन if है। यह किसी शर्त की जाँच करता है और यदि वह शर्त सही हो, तो कमांड के एक समूह को चलाता है। यदि शर्त गलत हो, तो उन कमांड को छोड़ देता है।

मूल सिंटैक्स इस प्रकार है:

  • if [ condition ]; then
  • # commands to run if true
  • fi

if ब्लॉक को बंद करने के लिए fi लिखना याद रखें!

सरल `if` उदाहरण

आइए एक सरल if कथन को काम करते हुए देखते हैं। यह स्क्रिप्ट जाँचती है कि कोई चर num 5 से बड़ा है या नहीं।

आउटपुट में होने वाला बदलाव देखने के लिए num का मान बदलकर देखें!

#!/bin/bash

num=7

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5."
fi

num=3

if [ "$num" -gt 5 ]; then
  echo "Number is greater than 5. (This won't print)"
fi

`if-else`: दो मार्ग

यदि कोई शर्त सही हो, तो कमांड का एक समूह और गलत हो, तो कमांड का दूसरा समूह चलाना हो तो? ऐसी स्थिति में else उपयोगी होता है।

if-else कथन आपकी स्क्रिप्ट के लिए दो अलग-अलग मार्ग प्रदान करता है:

  • if [ condition ]; then
  • # commands if condition is true
  • else
  • # commands if condition is false
  • fi

`if-else` का उपयोग

यह स्क्रिप्ट किसी संख्या के सम या विषम होने का पता लगाने के लिए if-else का उपयोग करती है। संख्याओं की तुलना और गणना को अधिक स्पष्ट बनाने के लिए हम अंकगणितीय मूल्यांकन (( )) का उपयोग करते हैं।

% ऑपरेटर भाग देने पर बचा हुआ शेषफल देता है। यदि num % 2 का मान 0 है, तो संख्या सम है!

#!/bin/bash

num=4

if (( num % 2 == 0 )); then
  echo "$num is an even number."
else
  echo "$num is an odd number."
fi

num=9

if (( num % 2 == 0 )); then
  echo "$num is an even number. (This won't print)"
else
  echo "$num is an odd number."
fi

`elif`: कई शर्तें

कभी-कभी दो से अधिक संभावित परिणाम होते हैं। ऐसी स्थितियों में, कई शर्तों की क्रम से जाँच करने के लिए elif ("else if" का संक्षिप्त रूप) का उपयोग किया जा सकता है।

स्क्रिप्ट एक-एक करके शर्तों की जाँच करती है। जो पहली शर्त सही मिलती है, उसकी कमांड चलाई जाती हैं और बाकी शर्तों को छोड़ दिया जाता है।

  • if [ cond1 ]; then ...
  • elif [ cond2 ]; then ...
  • else ...
  • fi

`elif` की शृंखला

यहाँ अंक के आधार पर अक्षर-ग्रेड निर्धारित करने के लिए if-elif-else का उपयोग करने वाला उदाहरण दिया गया है। ध्यान दें कि शर्तों की जाँच सबसे अधिक अंक से सबसे कम अंक की ओर की जाती है।

यदि अंक 95 हैं, तो पहली if शर्त (>= 90) पूरी होती है और "A" प्रिंट होता है। इसके बाद बाकी elif और else ब्लॉक अनदेखे कर दिए जाते हैं।

#!/bin/bash

score=85

if [ "$score" -ge 90 ]; then
  echo "Grade: A"
elif [ "$score" -ge 80 ]; then
  echo "Grade: B"
elif [ "$score" -ge 70 ]; then
  echo "Grade: C"
else
  echo "Grade: F"
fi

`case`: सरल चयन

जब आपके पास कोई एक चर या अभिव्यक्ति हो जिसके कई संभावित मान हो सकते हैं और आप प्रत्येक मान के लिए अलग-अलग कार्य करना चाहते हों, तो लंबे if-elif-else क्रम की तुलना में case कथन अधिक साफ़-सुथरा होता है।

यह मेनू-आधारित स्क्रिप्ट या इनपुट के विशिष्ट विकल्पों को संभालने के लिए बहुत उपयोगी है।

  • case $variable in
  • pattern1) commands ;;
  • pattern2) commands ;;
  • *) default commands ;;
  • esac

`case` कथनों का उपयोग

यह स्क्रिप्ट अलग-अलग उपयोगकर्ता क्रियाओं (start, stop, restart) के अनुसार प्रतिक्रिया देने के लिए case का उपयोग करना दिखाती है। *) पैटर्न डिफ़ॉल्ट की तरह काम करता है और उन सभी मानों को संभालता है जिनका कोई मिलान नहीं मिलता।

कमांड का प्रत्येक ब्लॉक ;; पर समाप्त होता है। case कथन के सही ढंग से काम करने के लिए यह बहुत महत्वपूर्ण है।

#!/bin/bash

action="start"

case "$action" in
  "start")
    echo "Starting service..."
    ;;
  "stop")
    echo "Stopping service..."
    ;;
  "restart")
    echo "Restarting service..."
    ;;
  *) # Default case for anything else
    echo "Invalid action: $action"
    ;;
esac

action="status"

case "$action" in
  "start") echo "Starting service..." ;;
  "stop") echo "Stopping service..." ;;
  "restart") echo "Restarting service..." ;;
  *) echo "Invalid action: $action" ;;

esac

सशर्त चुनौती

नीचे दी गई स्क्रिप्ट को ध्यान से पढ़ें। इस स्क्रिप्ट को चलाने पर आउटपुट क्या होगा?

#!/bin/bash

color="blue"

if [ "$color" == "red" ]; then
  echo "It's a primary color."
elif [ "$color" == "yellow" ]; then
  echo "It's another primary color."
elif [ "$color" == "blue" ]; then
  echo "Yes, blue is primary!"
else
  echo "Unknown color."
fi

निर्णय लेना हुआ आसान

बहुत अच्छा! आपने अपनी शेल स्क्रिप्ट में निर्णय लेने का तर्क जोड़ने के मूल तरीकों को सीख लिया है।

  • if: शर्त सही होने पर कमांड चलाता है।
  • if-else: दो मार्ग देता है—एक सही शर्त के लिए और दूसरा गलत शर्त के लिए।
  • elif: अधिक जटिल तर्क के लिए कई शर्तों को क्रम से जोड़ने देता है।
  • case: एक ही मान के आधार पर कई विकल्पों को संभालने का साफ़ तरीका है।

अलग-अलग इनपुट और परिस्थितियों के अनुसार गतिशील प्रतिक्रिया देने वाली स्क्रिप्ट लिखने के लिए ये संरचनाएँ आवश्यक हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Linux कमांड लाइन में दक्षता सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “सशर्त कथन: `if`, `else`, `case`” पाठ निःशुल्क है?

हाँ—“सशर्त कथन: `if`, `else`, `case`” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Linux कमांड लाइन में दक्षता पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Linux कमांड लाइन में दक्षता पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“सशर्त कथन: `if`, `else`, `case`” में मैं क्या सीखूँगा?

विभिन्न सशर्त संरचनाओं का उपयोग करके अपनी स्क्रिप्ट में निर्णय लेने का तर्क लागू करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Linux कमांड लाइन में दक्षता का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Linux कमांड लाइन में दक्षता शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Linux कमांड लाइन में दक्षता शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“सशर्त कथन: `if`, `else`, `case`” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Linux कमांड लाइन में दक्षता पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Linux कमांड लाइन में दक्षता पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. वेरिएबल, इनपुट और आउटपुट
  2. सशर्त कथन: `if`, `else`, `case`
  3. लूप: `for`, `while`, `until`
  4. शेल स्क्रिप्ट में फ़ंक्शन और तर्क
← Linux कमांड लाइन में दक्षता पर वापस जाएँ