Skip to main content

बैश WHILE-Loops कैसे लिखें

Linux Tutorial for Beginners: Introduction to Linux Operating System (जून 2026)

Linux Tutorial for Beginners: Introduction to Linux Operating System (जून 2026)
Anonim

आप उन्हें स्क्रिप्ट फ़ाइल में लिखकर और फिर इसे चलाकर आदेशों का अनुक्रम निष्पादित कर सकते हैं।

एक स्क्रिप्ट फ़ाइल बस एक टेक्स्ट फ़ाइल होती है, आमतौर पर एसएच फ़ाइल एक्सटेंशन के साथ, जिसमें निर्देशों का अनुक्रम होता है जिसे कमांड लाइन (खोल) से भी निष्पादित किया जा सकता है।

जबकि लूप उदाहरण

नीचे थोड़ी देर लूप का एक उदाहरण है। निष्पादित होने पर, यह स्क्रिप्ट फ़ाइल स्क्रीन पर नंबर 1 से 9 मुद्रित करेगी। जबकि-स्टेटमेंट आपको फॉर-लूप की तुलना में समाप्ति की स्थिति निर्दिष्ट करने के लिए अधिक लचीलापन देता है।

उदाहरण के लिए, आप पिछली स्क्रिप्ट को वृद्धि विवरण को छोड़कर एक अनंत लूप बना सकते हैं "((गिनती ++))":

"नींद 1" कथन प्रत्येक पुनरावृत्ति पर 1 सेकंड के लिए निष्पादन रोकता है। प्रक्रिया को समाप्त करने के लिए Ctrl + C कीबोर्ड शॉर्टकट का उपयोग करें।

आप एक कोलन को स्थिति के रूप में डालकर एक अनंत लूप भी बना सकते हैं:

जबकि-लूप में कई स्थितियों का उपयोग करने के लिए, आपको डबल स्क्वायर ब्रैकेट नोटेशन का उपयोग करना होगा:

इस स्क्रिप्ट में, परिवर्तनीय "किया गया" 0 पर शुरू किया गया है और फिर गिनती तक पहुंचने पर 1 पर सेट किया गया है। लूप स्थिति बताती है कि जब तक "गिनती" नौ से कम है और "किया" बराबर है तब तक लूप जारी रहेगा शून्य करने के लिए। इसलिए जब गिनती 5 बराबर होती है तो लूप बाहर निकलते हैं।

"&&" का तार्किक अर्थ है "और" और "||" तार्किक "या" का मतलब है।

संयोजनों के लिए एक वैकल्पिक संकेत "और" और "या" शर्तों में "-a" और "-o" एकल वर्ग ब्रैकेट के साथ है। उपरोक्त शर्त:

… के रूप में फिर से लिखा जा सकता है:

एक पाठ फ़ाइल पढ़ना आम तौर पर थोड़ी देर के साथ किया जाता है। निम्न उदाहरण में, बैश स्क्रिप्ट सामग्री सूची को "inventory.txt:" नामक फ़ाइल की रेखा से पढ़ती है।

पहली पंक्ति इनपुट फ़ाइल नाम को "फ़ाइल" चर में निर्दिष्ट करती है। दूसरी पंक्ति फ़ाइल डिस्क्रिप्टर "6" में "मानक इनपुट" बचाती है (यह 3 और 9 के बीच कोई मान हो सकती है)। ऐसा किया जाता है ताकि स्क्रिप्ट के अंत में फ़ाइल डिस्क्रिप्टर "0" फ़ाइल में "मानक इनपुट" को पुनर्स्थापित किया जा सके (कथन देखें "exec 0 तीसरी पंक्ति में इनपुट फ़ाइल फ़ाइल डिस्क्रिप्टर को सौंपी गई है" 0, "जिसका प्रयोग किया जाता है मानक इनपुट के लिए। "पढ़ा" कथन तब प्रत्येक पुनरावृत्ति पर फ़ाइल से एक पंक्ति पढ़ता है और इसे "line1" चर में निर्दिष्ट करता है।

समय-समय पर लूप से बाहर निकलने के लिए, आप इस तरह के ब्रेक स्टेटमेंट का उपयोग कर सकते हैं:

ब्रेक स्टेटमेंट प्रोग्राम निष्पादन को अंत तक छोड़ देता है जबकि लूप और उसके बाद किसी भी कथन को निष्पादित करता है। इस मामले में, बयान "echo समाप्त हो गया।"

दूसरी तरफ जारी बयान, वर्तमान पुनरावृत्ति के बाकी लूप स्टेटमेंट को छोड़ देता है और सीधे अगले पुनरावृत्ति पर कूदता है:

इस मामले में, "जारी रखें" कथन निष्पादित किया जाता है जब चर "गणना" पहुंचता है 5. इसका मतलब है कि बाद के कथन (गूंज "$ गिनती") इस पुनरावृत्ति पर निष्पादित नहीं किया जाता है (जब "गिनती" का मान 5 होता है)।