Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

लूप के लिए बैश [उदाहरण के साथ]

के लिए कई फाइलों, रिकॉर्ड्स या अन्य मानों के लिए एक कार्य को दोहराने के लिए बैश स्क्रिप्ट लिखते समय लूप एक आसान उपकरण है।

के लिए कथन मानों की सूची पर पुनरावृति करेगा, सभी आइटम संसाधित होने तक प्रत्येक पर कार्य निष्पादित करेगा।

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

बैश फॉर लूप सिंटेक्स

for VARIABLE in LIST
do
    COMMANDS
done

कहां:

  • VARIABLE वेरिएबल नाम है जिसे COMMANDS द्वारा संसाधित किए जाने पर LIST में प्रत्येक आइटम को असाइन किया जाएगा
  • सूची कई रूप ले सकती है। उदाहरण के लिए नीचे देखें

लूप के लिए बैश के उदाहरण

के लिए लूप पूर्वनिर्धारित सूचियों या अन्य स्क्रिप्ट या कमांड-लाइन अनुप्रयोगों के आउटपुट से उत्पन्न सूचियों पर पुनरावृति कर सकते हैं।

एक के लिए . के साथ संख्याओं की श्रेणी में पुनरावृति लूप

{START…END} . का उपयोग करके श्रेणी में प्रत्येक संख्या को संसाधित करना (1 से बढ़ाना) :

for num in {0..10}
do 
    echo "I'm counting to 10 and I'm up to $num"
done

ध्यान दें कि:

  • सूची में प्रत्येक आइटम को चर नाम दिया गया है संख्या।
    • इन्हें बाद में स्क्रिप्ट में $num. . का उपयोग करके एक्सेस किया जाता है
    • संख्याओं की श्रेणियों में पुनरावृति केवल बैश संस्करण 3 और बाद के संस्करण में समर्थित है।
  • पुनरावृत्त होने वाली संख्याएं घुंघराले ब्रेसिज़ की शुरुआत में संख्या के साथ शुरू होती हैं और 1 की वृद्धि में अंत में संख्या तक चलती हैं

कदम {START…END…INCREMENT} का उपयोग करके - संख्या से अधिक और 3 से बढ़ाना - ताकि 3 के गुणज ही संसाधित हों - :

for num in {0..15..3}
do 
    echo "$num is a multiple of 3!"
done

ध्यान दें कि:

  • घुंघराले ब्रेसिज़ के व्यंजक में एक तीसरा नंबर जोड़ा जाता है।
    • यह 3 की वृद्धि में 0 से 15 तक की संख्या पर काम करेगा
  • कस्टम इंक्रीमेंट के साथ श्रेणियों में पुनरावृत्ति करना केवल बैश संस्करण 4 और उसके बाद के संस्करण में समर्थित है।

एक के लिए . के साथ स्ट्रिंग्स की सूची पर पुनरावृति लूप

आप स्ट्रिंग मानों की सूची पर पुनरावृति भी कर सकते हैं:

for car in Ford, Holden, Honda, BMW, Ferrari
do
    echo "I wish I could drive a $car"
done

एक के लिए . के साथ एक सरणी पर पुनरावृति लूप

किसी सरणी को उसमें मानों पर पुनरावृति करने से पहले एक चर के रूप में घोषित किया जा सकता है:

FRUITS=('Apple' 'Pear' 'Orange' 'Strawberry')

for fruit in "${FRUITS[@]}"
do
    echo "$fruit is delicious"
done

फ़ाइलों पर पुनरावृति (और अन्य आउटपुट) एक के लिए . के साथ लूप

आप अन्य कमांड-लाइन कमांड के आउटपुट पर भी लूप कर सकते हैं:

for f in *
do
    echo "Filename is $f"
done
. के लिए

ब्रेक

विराम स्टेटमेंट दिए गए बिंदु पर लूप से बाहर निकलेगा:

for num in {0..15..3}
do
    echo "$num is a multiple of 3!"
    if [[ "$num" == '9' ]]
    then
        break
    fi
done
echo 'Finished counting at 9!'

जारी रखें

जारी रखें स्टेटमेंट लूप के वर्तमान पुनरावृत्ति में कोड को निष्पादित करना बंद कर देगा (इसे पूरी तरह से छोड़कर) और जारी रखें अगले पुनरावृत्ति पर:

for num in {0..15..3}
do
    if [[ "$num" == '6' ]]
    then
        continue
    fi
    echo "$num is a multiple of 3!"
done
echo 'The number 6 was skipped!'

निष्कर्ष

स्क्रिप्ट लिखते समय लूप का उपयोग करने से आपका समय बचेगा और आपको लचीली स्क्रिप्ट लिखने की अनुमति मिलेगी जो मैन्युअल डेटा प्रविष्टि के बिना प्रसंस्करण फ़ाइलों और डेटा को स्वचालित कर सकती है।

अधिक बैश स्क्रिप्टिंग युक्तियों के लिए हमारे अन्य लेख देखें!


  1. जावास्क्रिप्ट में लूप्स के लिए

    आइए लूप के लिए शुरू करते हैं। जेएस में लूप के 2 रूपांतर हैं। पहला रूप इनिट, कंडीशन, एक्सप्र लूप है। यह पहले स्टेटमेंट को इनिशियलाइज़ करता है, फिर प्रत्येक पुनरावृत्ति पर expr निष्पादित करता है और स्थिति की जाँच करता है। उदाहरण उदाहरण के लिए, var step; for (step = 0; step < 5; step++) {  

  1. के लिए समझाएं। . .of लूप जावास्क्रिप्ट।

    for..of लूप हमें सरणी, स्ट्रिंग, सरणी जैसे ऑब्जेक्ट, नोडलिस्ट आदि जैसे पुनरावृत्त वस्तुओं पर पुनरावृति करने की अनुमति देता है। जावास्क्रिप्ट में for..of लूप के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" />

  1. लूप कमांड के लिए बैश का उपयोग कैसे करें

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