while Loop का उपयोग
In this page:
while [ condition ]; do
commands
done
Basic while Loop
while condition; do ... done body के हर pass से पहले condition को फिर से evaluate करता है, false होते ही रुकते हुए। Body की ज़िम्मेदारी है कि आखिरकार condition को false बनाए, आमतौर पर एक counter या state variable update करके।
उदाहरण: Basic while Loop
#!/bin/bash
count=1
while [ "$count" -le 5 ]; do
echo "Count is $count"
count=$((count + 1))
done
Login to try C/C++/Java/PHP code in the editor
Deliberate Infinite Loop with break
while true; do ... done हमेशा चलता रहता है क्योंकि true हमेशा 0 exit करता है, जो उन loops के लिए एक deliberate pattern है जिनका exit condition top पर नहीं बल्कि body के बीच में check करना आसान हो।
अंदर एक break statement तब loop को खत्म करता है जब सही moment आए।
उदाहरण: Deliberate Infinite Loop with break
#!/bin/bash
attempts=0
while true; do
attempts=$((attempts + 1))
echo "Attempt $attempts"
if [ "$attempts" -ge 3 ]; then
echo "Giving up after $attempts attempts"
break
fi
done
Login to try C/C++/Java/PHP code in the editor
while With a Numeric Condition
while अपनी condition के रूप में सीधे (( )) arithmetic comparisons के लिए उपयोग कर सकता है, जो [ ] के साथ -le/-lt से numeric loops के लिए ज़्यादा naturally पढ़ता है। Loop उसी moment रुकता है जब arithmetic expression zero (false) evaluate करे।
उदाहरण: while With a Numeric Condition
#!/bin/bash
n=5
while (( n > 0 )); do
echo "n=$n"
(( n-- ))
done
Login to try C/C++/Java/PHP code in the editor
while With a Compound Condition
बिल्कुल if की तरह, एक while loop की condition [[ ]] के साथ &&/|| उपयोग करके कई checks combine कर सकती है, loop को सिर्फ तब तक continue करने देते हुए जब तक कई चीज़ें सब true रहें।
यह उन loops के लिए उपयोगी है जिन्हें कई possible ending conditions में से पहले वाले पर रुकना चाहिए।
उदाहरण: while With a Compound Condition
#!/bin/bash
count=0
found=false
while [[ $count -lt 5 && $found = false ]]; do
count=$((count + 1))
echo "Checking item $count"
if [ "$count" -eq 3 ]; then
found=true
echo "Found it at item $count"
fi
done
Login to try C/C++/Java/PHP code in the editor
- एक condition लिखना जो कभी false नहीं होती क्योंकि उसमें उपयोग किया गया variable loop body के अंदर कभी update नहीं होता, एक infinite loop produce करते हुए।
- यह मान लेना कि
whilecondition को एक बार check करता है और फिर body हमेशा के लिए चलता रहता है; यह असल में हर iteration से पहले, पहले वाले सहित, condition को फिर से check करता है। - यह भूल जाना कि एक pipe से consume करने वाला
while readloop कुछ contexts में एक subshell में चलता है, मतलब loop के अंदर set किए variables बाद में visible नहीं होते -- command output पढ़ने के साथ ज़्यादा depth में covered।
- Syntax:
while condition; do ... done-- condition कोई भी command/test है, हर iteration से पहले checked। - Loop body को आखिरकार कुछ ऐसा बदलना चाहिए जो condition को affect करे, वरना यह हमेशा चलता रहेगा।
while true; do ... doneएक आम deliberate infinite loop है, जिसका मतलब है अंदर सेbreakयाexitसे exit करना।- एक
whileloop[ ],[[ ]],(( )), या कोई भी arbitrary command अपनी condition के रूप में उपयोग कर सकता है, बिल्कुलifकी तरह।
Chapter Quiz — Complete all 14 topics to unlock
0/14 topics done
Complete these topics first: