किसी भी अन्य स्क्रिप्टिंग भाषा की तरह, बैश में भी लूप के लिए सपोर्ट है।
लूप दोहराए जाने वाले कार्यों के लिए बहुत अच्छे होते हैं। हम अपने बैश स्क्रिप्ट में फॉर लूप और व्हाइल लूप का उपयोग कर सकते हैं।
बैश फॉर लूप
फॉर लूप का सिंटैक्स है:
for VARIABLE in PARAM1 PARAM2 PARAM3 do // फॉर लूप का स्कोप done फॉर लूप प्रत्येक पैरामीटर के लिए निष्पादित होगा। पैरामीटर नंबर, नंबर की रेंज या स्ट्रिंग्स आदि हो सकते हैं।
बैश फॉर लूप उदाहरण
यह सरल उदाहरण फॉर लूप का उपयोग करके 1 से 5 तक की संख्या प्रिंट करता है:
#!/bin/bash for i in 1 2 3 4 5 do echo "$i" done आउटपुट:
1 2 3 4 5 बैश फॉर लूप - संख्याओं की रेंज प्रिंट करना
हम लूप के माध्यम से संख्याओं की एक रेंज भी परिभाषित कर सकते हैं:
उदाहरण के लिए:
for i in {1..5} do echo "$i" done आउटपुट:
1 2 3 4 5 बैश स्ट्रिंग्स के माध्यम से लूप
हम फॉर लूप का उपयोग स्ट्रिंग पैरामीटर्स के माध्यम से लूप करने के लिए भी कर सकते हैं:
#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo "$day" done आउटपुट:
MON TUE WED THU FRI SAT SUN बैश फॉर लूप - C स्टाइल
हम फॉर लूप लिखने के लिए C-स्टाइल सिंटैक्स का भी उपयोग कर सकते हैं। उदाहरण के लिए:
#!/bin/bash for ((i=1; i<=5; i++)) do echo "$i" done आउटपुट
1 2 3 4 5 वर्तमान डायरेक्टरी में फाइलों की सूची प्रिंट करने के लिए फॉर लूप
बैश फॉर लूप का उपयोग करके वर्तमान डायरेक्टरी में सभी फाइलों को सूचीबद्ध करने के लिए, हम उपयोग करते हैं:
#!/bin/bash for fname in ./ do ls -l $fname done बैश व्हाइल लूप
बैश व्हाइल लूप को भी सपोर्ट करता है। व्हाइल लूप निर्देशों के एक सेट को तब तक निष्पादित करता है जब तक कंडीशन true का मूल्यांकन करती है।
बैश व्हाइल लूप का सिंटैक्स है:
while [condition] do //निर्देश निष्पादित करें done किसी भी निर्देश को निष्पादित करने से पहले कंडीशन का मूल्यांकन किया जाता है। इसलिए, कंडीशन को अपडेट करने का एक साधन होना आवश्यक है, अन्यथा लूप हमेशा के लिए निष्पादित होगा।
बैश व्हाइल लूप उदाहरण
निम्न एक सरल व्हाइल लूप है जो संख्या 1 से 5 प्रिंट करता है। लूप तब समाप्त होता है जब संख्या 5 से अधिक हो जाती है।
#!/bin/bash num=1 while [ $num -le 5 ] do echo "$num" let num++ done बैश C-स्टाइल व्हाइल लूप
फॉर लूप की तरह, हम बैश व्हाइल लूप को C-स्टाइल जैसी भाषा में भी लिख सकते हैं।
उदाहरण के लिए:
#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done