एक अगर . के साथ बयान, जो एक प्रकार का सशर्त बयान है, आप निर्दिष्ट शर्तों के आधार पर विभिन्न क्रियाएं कर सकते हैं। यह सिस्टम को प्रभावी ढंग से निर्णय लेने की क्षमता देता है।
यहां if . के सरलतम रूप का एक उदाहरण दिया गया है कथन:
count=5
if [ $count == 5 ]
then
echo "$count"
fi
इस उदाहरण में, चर गिनती एक शर्त निर्दिष्ट करता है जिसका उपयोग if . के हिस्से के रूप में किया जाता है बयान। अगर . से पहले कथन निष्पादित किया जाता है, चर गिनती मान दिया गया है 5 . अगर स्टेटमेंट तब जांचता है कि क्या गिनती . का मान है है 5 . यदि ऐसा है, तो कीवर्ड्स के बीच का स्टेटमेंट फिर और fi निष्पादित किए जाते हैं। अन्यथा, if . के बाद कोई भी कथन कथन निष्पादित होते हैं।
कीवर्ड fi है यदि पीछे लिखा है। बैश स्क्रिप्टिंग भाषा इस कन्वेंशन का उपयोग एक जटिल अभिव्यक्ति के अंत को चिह्नित करने के लिए करती है, जैसे कि if कथन या मामला बयान।
गूंज कथन अपने तर्क को प्रिंट करता है, इस मामले में, चर का मान गिनती , टर्मिनल विंडो के लिए। if . के कीवर्ड के बीच कोड का इंडेंटेशन कथन पठनीयता में सुधार करता है लेकिन आवश्यक नहीं है।
यदि आपके पास ऐसी स्थिति है जहां कोड का एक टुकड़ा केवल तभी निष्पादित किया जाना चाहिए जब कोई शर्त सत्य न हो, तो कीवर्ड का उपयोग करें else एक अगर . में कथन, जैसा कि इस उदाहरण में है:
count=5
if [ $count == 5 ]
then
echo "$count"
else
echo "count is not 5"
fi
अगर शर्त $गिनती ==5 सत्य है, सिस्टम चर के मान को प्रिंट करता है गिनती . अन्यथा, यह स्ट्रिंग को प्रिंट करता है गिनती 5 नहीं है ।
यदि आप अनेक स्थितियों में अंतर करना चाहते हैं, तो कीवर्ड 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 . के समान कार्य करता है एकाधिक 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
यदि बयानों का उपयोग अक्सर फॉर-लूप या जबकि-लूप के अंदर किया जाता है, जैसा कि इस उदाहरण में है:
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.