Computer >> कंप्यूटर >  >> प्रणाली >> Linux

बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

एक अगर . के साथ बयान, जो एक प्रकार का सशर्त बयान है, आप निर्दिष्ट शर्तों के आधार पर विभिन्न क्रियाएं कर सकते हैं। यह सिस्टम को प्रभावी ढंग से निर्णय लेने की क्षमता देता है।

बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

यहां if . के सरलतम रूप का एक उदाहरण दिया गया है कथन:

count=5
if [ $count == 5 ]
then
echo "$count"
fi

इस उदाहरण में, चर गिनती एक शर्त निर्दिष्ट करता है जिसका उपयोग if . के हिस्से के रूप में किया जाता है बयान। अगर . से पहले कथन निष्पादित किया जाता है, चर गिनती मान दिया गया है 5 . अगर स्टेटमेंट तब जांचता है कि क्या गिनती . का मान है है 5 . यदि ऐसा है, तो कीवर्ड्स के बीच का स्टेटमेंट फिर और fi निष्पादित किए जाते हैं। अन्यथा, if . के बाद कोई भी कथन कथन निष्पादित होते हैं।

कीवर्ड fi है यदि पीछे लिखा है। बैश स्क्रिप्टिंग भाषा इस कन्वेंशन का उपयोग एक जटिल अभिव्यक्ति के अंत को चिह्नित करने के लिए करती है, जैसे कि if कथन या मामला बयान।

गूंज कथन अपने तर्क को प्रिंट करता है, इस मामले में, चर का मान गिनती , टर्मिनल विंडो के लिए। if . के कीवर्ड के बीच कोड का इंडेंटेशन कथन पठनीयता में सुधार करता है लेकिन आवश्यक नहीं है।

बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

यदि आपके पास ऐसी स्थिति है जहां कोड का एक टुकड़ा केवल तभी निष्पादित किया जाना चाहिए जब कोई शर्त सत्य न हो, तो कीवर्ड का उपयोग करें else एक अगर . में कथन, जैसा कि इस उदाहरण में है:

count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi

अगर शर्त $गिनती ==5 सत्य है, सिस्टम चर के मान को प्रिंट करता है गिनती . अन्यथा, यह स्ट्रिंग को प्रिंट करता है गिनती 5 नहीं है

बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

यदि आप अनेक स्थितियों में अंतर करना चाहते हैं, तो कीवर्ड elif . का उपयोग करें , जो else if . से लिया गया है , जैसा कि इस उदाहरण में है:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
else
echo "none of the above"
fi

अगर गिनें है 5 , सिस्टम प्रिंट करता है गिनती पांच है . अगर गिनें 5 नहीं है लेकिन 6 , सिस्टम प्रिंट करता है गिनती छह है . अगर यह न तो 5 . है न ही 6 , सिस्टम उपरोक्त में से कोई नहीं प्रिंट करता है ।

आपके पास elif . की कोई भी संख्या हो सकती है खंड। एकाधिक elif . का एक उदाहरण शर्तें हैं:

if [ $count == 5 ]
then
echo "count is five"
elif [ $count == 6 ]
then
echo "count is six"
elif [ $count == 7 ]
then
echo "count is seven"
elif [ $count == 8 ]
then
echo "count is eight"
elif [ $count == 9 ]
then
echo "count is nine"
else
echo "none of the above"
fi
बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

इस तरह के बयानों को कई शर्तों के साथ लिखने का एक अधिक कॉम्पैक्ट तरीका केस विधि है। यह if . के समान कार्य करता है एकाधिक elif . के साथ कथन खंड लेकिन अधिक संक्षिप्त है। उदाहरण के लिए, उपरोक्त कोड को केस . के साथ फिर से लिखा जा सकता है बयान इस प्रकार है:

case "$count" in
5)
echo "count is five"
;;
6)
echo "count is six"
;;
7)
echo "count is seven"
;;
8)
echo "count is eight"
;;
9)
echo "count is nine"
;;
*)
echo "none of the above"
esac
बैश-स्क्रिप्ट में IF-स्टेटमेंट कैसे लिखें

यदि बयानों का उपयोग अक्सर फॉर-लूप या जबकि-लूप के अंदर किया जाता है, जैसा कि इस उदाहरण में है:

count=1
done=0
while [ $count -le 9 ]
do
sleep 1
(( count++ ))
if [ $count == 5 ]
then
continue
fi
echo "$count"
done
echo Finished

You can also have nested if statements. The simplest nested if statement is of the form: if...then...else...if...then...fi...fi. However, an if statement can be nested with arbitrary complexity.

See also how to pass arguments to a bash script, which shows how to use conditionals to process parameters passed from the command line.

The bash shell provides other programming constructs, such as for-loops, while-loops, and arithmetic expressions.


  1. माइक्रोसॉफ्ट वर्ड में वर्ड काउंट कैसे दिखाएं

    Microsoft Word में एक शब्द काउंटर शामिल है जो आपको अपने दस्तावेज़ों में आपके द्वारा लिखे गए शब्दों की संख्या को ट्रैक करने देता है। यह वास्तव में तब उपयोगी होता है जब आप ऐसे दस्तावेज़ों पर काम करते हैं जिनमें एक निश्चित संख्या में शब्दों की आवश्यकता होती है या एक निश्चित शब्द सीमा होती है। Microsoft

  1. एक्सेल में आईएफ फॉर्मूला/स्टेटमेंट कैसे लिखें?

    एक्सेल इतना शक्तिशाली स्प्रेडशीट प्रोग्राम है कि मुझे संदेह है कि कोई भी संभवतः वह सब कुछ जान सकता है जो वह कर सकता है। कार्यक्रम के बहुत सारे पहलू हैं, यह आश्चर्यजनक है कि इसे इतने सरल इंटरफ़ेस में समझाया जा सकता है। मैं हाल ही में घर पर कुछ काम के लिए एक्सेल का उपयोग कर रहा था और कुछ सूत्र लिखने क

  1. लिनक्स में विंडोज पार्टिशन में कैसे लिखें

    यदि आप विंडोज और लिनक्स को डुअल-बूट कर रहे हैं, तो आपने देखा होगा कि जब आप लिनक्स से एनटीएफएस विभाजन माउंट करते हैं, तो कभी-कभी आप इसे नहीं लिख सकते हैं। आप वहां मौजूद कुछ भी पढ़ सकते हैं, लेकिन आप फाइलों को हटा नहीं सकते, उनका नाम नहीं बदल सकते, उन्हें संशोधित नहीं कर सकते या नई फाइलें और निर्देशिक