किसी भी अन्य स्क्रिप्टिंग भाषा की तरह, बैश में भी लूप के लिए समर्थन है।
दोहराए जाने वाले कार्यों को करने के लिए लूप महान हैं। हम अपनी बैश स्क्रिप्ट में लूप और जबकि लूप के लिए उपयोग कर सकते हैं।
बैश फॉर लूप
लूप के लिए सिंटैक्स है:
for VARIABLE in PARAM1 PARAM2 PARAM3
do
// scope of for loop
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 स्टाइल
लूप के लिए लिखने के लिए हम सी-स्टाइल सिंटैक्स का भी उपयोग कर सकते हैं। उदाहरण के लिए:
#!/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
लूप के दौरान बैश करें
लूप के दौरान बैश भी सपोर्ट करते हैं। जबकि लूप निर्देशों के एक सेट को तब तक निष्पादित करते हैं जब तक कि कोई शर्त सही नहीं हो जाती।
बैश जबकि लूप का सिंटैक्स है:
while [condition]
do
//execute instructions
done
किसी भी निर्देश को निष्पादित करने से पहले स्थिति का मूल्यांकन किया जाता है। इसलिए, स्थिति को अद्यतन करने के लिए एक साधन होना आवश्यक है, अन्यथा लूप हमेशा के लिए निष्पादित हो जाएगा।
लूप उदाहरण के दौरान बैश करें
निम्नलिखित एक सरल जबकि लूप है जो संख्या 1 से 5 तक प्रिंट करता है। संख्या 5 से अधिक होने पर लूप समाप्त हो जाता है।
#!/bin/bash
num=1
while [ $num -le 5 ]
do
echo "$num"
let num++
done
बैश सी-स्टाइल जबकि लूप
लूप के लिए की तरह, हम C-शैली जैसी भाषा में भी बैश जबकि लूप लिख सकते हैं।
उदाहरण के लिए:
#!/bin/bash
num=1
while((num <= 5))
do
echo $num
let num++
done