इस लेख में, हम देखेंगे कि bash स्क्रिप्ट में break और continue का उपयोग कैसे करें। Bash में, हमारे पास तीन मुख्य लूप निर्माण हैं (for, while, until)। Break और continue स्टेटमेंट्स bash बिल्टइन हैं और आपके लूप के प्रवाह को बदलने के लिए उपयोग किए जाते हैं। ब्रेक और कंटिन्यू की यह अवधारणा Python जैसी लोकप्रिय प्रोग्रामिंग भाषाओं में उपलब्ध है।
$ type -a break continue
Break स्टेटमेंट के साथ लूप से बाहर निकलें
break स्टेटमेंट लूप से बाहर निकल जाएगा और कंट्रोल को लूप में अगले स्टेटमेंट पर पास कर देगा। आप break स्टेटमेंट के बारे में कुछ जानकारी प्राप्त करने के लिए help कमांड चला सकते हैं।
$ help break
Break का बुनियादी सिंटैक्स।
$ break [n] n वैकल्पिक है
नीचे दिए गए उदाहरण पर एक नज़र डालें। यह एक सरल for लूप है जो 1 से 20 तक की मानों की रेंज पर 2 के इंक्रीमेंटल स्टेप में पुनरावृति करता है। कंडीशनल स्टेटमेंट अभिव्यक्ति का मूल्यांकन करेगा और जब यह true ($val = 9) होगा तो यह break स्टेटमेंट चलाएगा और लूप समाप्त हो जाएगा, शेष पुनरावृत्तियों को छोड़ देगा।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
break
else
echo "printing ${val}"
fi
done
Continue स्टेटमेंट के साथ एक पुनरावृत्ति छोड़ें
क्या होगा यदि आप लूप से पूरी तरह से बाहर नहीं निकलना चाहते लेकिन जब एक निश्चित शर्त पूरी होती है तो कोड ब्लॉक को छोड़ना चाहते हैं? यह continue स्टेटमेंट के साथ किया जा सकता है। continue स्टेटमेंट जब एक निश्चित शर्त पूरी होती है तो कोड ब्लॉक के निष्पादन को छोड़ देगा और कंट्रोल को अगली पुनरावृत्ति के लिए लूप स्टेटमेंट पर वापस पास कर देगा।
मदद तक पहुंचने के लिए।
$ help continue
नीचे दिए गए उदाहरण पर एक नज़र डालें। यह वही उदाहरण है जिसका उपयोग हमने break स्टेटमेंट को प्रदर्शित करने के लिए किया था। अब जब Val का मूल्यांकन नौ होता है तो continue स्टेटमेंट शेष सभी कोड ब्लॉक को छोड़ देगा और अगली पुनरावृत्ति के लिए फॉर लूप पर कंट्रोल पास कर देगा।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
continue
fi
echo "printing ${val}"
done
यदि आप python जानते थे तो break और continue व्यवहार पायथन में भी समान है। लेकिन पायथन एक और लूप कंट्रोल स्टेटमेंट प्रदान करता है जिसे pass कहा जाता है।
Pass एक null स्टेटमेंट की तरह है और इंटरप्रेटर इसे पढ़ेगा लेकिन कोई ऑपरेशन नहीं करेगा। इसका परिणाम केवल कोई ऑपरेशन नहीं होता है। Bash एक समान स्टेटमेंट प्रदान नहीं करता लेकिन हम true कीवर्ड या कोलन (:) का उपयोग करके इस व्यवहार का अनुकरण कर सकते हैं। दोनों true और कोलन शेल बिल्टइन हैं और कोई ऑपरेशन नहीं करते।
$ type -a : true
नीचे दिए गए उदाहरण पर एक नज़र डालें। जब एक कंडीशनल स्टेटमेंट का मूल्यांकन true ($val = 9) होता है तो true स्टेटमेंट कुछ नहीं करेगा और लूप जारी रहेगा।
#!/usr/bin/bash
for val in {1..20..2}
do
If [[ $val -eq 9 ]]
then
true
fi
echo "printing ${val}"
done
इस लेख के लिए बस इतना ही। हम आपकी बहुमूल्य प्रतिक्रिया और आपके पास कोई सुझाव सुनना पसंद करेंगे।