एंड्रॉयड

लूप करते समय बैश करें

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

विषयसूची:

Anonim

लूप प्रोग्रामिंग भाषाओं की मूलभूत अवधारणाओं में से एक है। जब आप किसी विशेष शर्त को पूरा करते हैं तो कई बार आदेशों की एक श्रृंखला चलाना चाहते हैं तो लूप आसान होते हैं।

बैश जैसी भाषाओं की स्क्रिप्टिंग में, लूप दोहराए जाने वाले कार्यों को स्वचालित करने के लिए उपयोगी होते हैं। बैश स्क्रिप्टिंग में 3 बेसिक लूप कंस्ट्रक्शन होते हैं, लूप के लिए, जबकि लूप और लूप तक।

यह ट्यूटोरियल बैश में छोरों के साथ-साथ विराम की मूल व्याख्या करता है और लूप के प्रवाह को बदलने के लिए बयान जारी रखता है।

लूप करते समय बैश करें

जबकि लूप का उपयोग किसी दिए गए आदेश को अज्ञात संख्या में करने के लिए किया जाता है जब तक कि दी गई स्थिति सही का मूल्यांकन करती है।

बैश जबकि लूप निम्न रूप लेता है:

while do done

कमांड निष्पादित करने से पहले स्थिति का मूल्यांकन किया जाता है। यदि स्थिति सत्य का मूल्यांकन करती है, तो आदेश निष्पादित किए जाते हैं। अन्यथा अगर हालत झूठी का मूल्यांकन करता है तो लूप को समाप्त कर दिया जाएगा और प्रोग्राम नियंत्रण को कमांड को पारित किया जाएगा जो निम्नानुसार है।

नीचे दिए गए उदाहरण में, प्रत्येक पुनरावृत्ति पर लूप चर i के वर्तमान मूल्य को प्रिंट करता है और चर को एक से बढ़ाता है।

i=0 while do echo Number: $i ((i++)) done

जब तक i दो से कम या बराबर नहीं होता, तब तक लूप लूप पुनरावृत्त होता है। यह निम्नलिखित उत्पादन का उत्पादन करेगा:

Number: 0 Number: 1 Number: 2

अनंत जबकि लूप

एक अनंत लूप एक लूप है जो अनिश्चित काल तक दोहराता है और कभी समाप्त नहीं होता है। यदि स्थिति हमेशा सही का मूल्यांकन करती है तो आपको एक अनंत लूप मिलता है।

निम्नलिखित उदाहरण में हम अंतर्निहित कमांड का उपयोग कर रहे हैं : जो अनंत लूप बनाने के लिए हमेशा सही रहता है। आप true अंतर्निहित कमांड या किसी अन्य कथन का भी उपयोग कर सकते हैं जो हमेशा सच होता है।

while: do echo "Press to exit." sleep 1 done while: do echo "Press to exit." sleep 1 done

जबकि ऊपर लूप अनिश्चित काल तक चलेगा। आप CTRL+C दबाकर लूप को समाप्त कर सकते हैं।

यहाँ एक एकल-पंक्ति समतुल्य है:

while:; do echo 'Press to exit.'; sleep 1; done while:; do echo 'Press to exit.'; sleep 1; done

एक फ़ाइल लाइन लाइन द्वारा पढ़ें

लूप के सबसे आम उपयोगों में से एक लाइन द्वारा किसी फ़ाइल, डेटा स्ट्रीम या वैरिएबल लाइन को पढ़ना है।

निम्नलिखित उदाहरण में जबकि लूप लाइन द्वारा /etc/passwd फाइल लाइन को पढ़ेगा और प्रत्येक लाइन को प्रिंट करेगा।

file=/etc/passwd while read -r line; do echo $line done < "$file"

एक शर्त के साथ लूप को नियंत्रित करने के बजाय हम इनपुट रीडायरेक्शन ( < "$file" ) का उपयोग कर रहे हैं ताकि एक फाइल को read लिए पास किया जा read जो लूप को नियंत्रित करने वाली कमांड है। जबकि लूप अंतिम पंक्ति पढ़ने तक चलेगा।

जब फ़ाइल लाइन को लाइन से read , तो बैकस्लैश को बचने के चरित्र के रूप में कार्य करने के लिए -r विकल्प के साथ read उपयोग करें।

डिफ़ॉल्ट रूप से read कमांड प्रमुख / अनुगामी व्हाट्सएप पात्रों (रिक्त स्थान और टैब) को ट्रिम कर देता है। इस व्यवहार को रोकने के लिए read कमांड से पहले IFS= विकल्प का उपयोग करें

file=/etc/passwd while IFS= read -r line; do echo $line done < "$file"

विवरणों को तोड़ें और जारी रखें

लूप निष्पादन को नियंत्रित करने के लिए ब्रेक और जारी बयान का उपयोग किया जा सकता है।

ब्रेक स्टेटमेंट

ब्रेक स्टेटमेंट वर्तमान लूप को समाप्त कर देता है और समाप्त लूप का अनुसरण करने वाले कमांड पर प्रोग्राम कंट्रोल पास करता है। यह आमतौर पर लूप को समाप्त करने के लिए उपयोग किया जाता है जब एक निश्चित स्थिति पूरी होती है।

निम्नलिखित उदाहरण में, लूप के निष्पादन को बाधित किया जाएगा जब वर्तमान पुनरावृत्त आइटम 2 बराबर हो।

i=0 while do echo "Number: $i" ((i++)) if]; then break fi done echo 'All Done!'

Number: 0 Number: 1 All Done!

जारी बयान

जारी बयान लूप की वर्तमान पुनरावृत्ति से बाहर निकलता है और लूप के अगले पुनरावृत्ति को प्रोग्राम नियंत्रण पास करता है।

निम्नलिखित में, एक बार वर्तमान पुनरावृत्त आइटम 2 के बराबर होने के बाद भी जारी बयान लूप की शुरुआत में लौटने और अगले पुनरावृत्ति के साथ जारी रखने के लिए निष्पादन का कारण होगा।

i=0 while do ((i++)) if]; then continue fi echo "Number: $i" done echo 'All Done!'

Number: 1 Number: 3 Number: 4 Number: 5 All Done!

निष्कर्ष

अब तक आपको इस बात की अच्छी समझ होनी चाहिए कि लूप करते समय बैश का उपयोग कैसे करें।

बैश लूप टर्मिनल