Linux Tutorial for Beginners: Introduction to Linux Operating System
विषयसूची:
- लूप के लिए मानक बैश
- तार पर लूप
- एक नंबर रेंज पर लूप
- सरणी तत्वों पर लूप करें
- लूप के लिए सी-स्टाइल बैश
- विवरणों को तोड़ें और जारी रखें
- ब्रेक स्टेटमेंट
- जारी बयान
- बैश फॉर लूप उदाहरण
- फ़ाइल नाम में रिक्त स्थान के साथ फ़ाइलों का नाम बदलना
- फ़ाइल एक्सटेंशन बदलना
- निष्कर्ष
लूप प्रोग्रामिंग भाषाओं की मूलभूत अवधारणाओं में से एक है। जब आप किसी निश्चित स्थिति तक पहुँचने के लिए बार-बार आदेशों की श्रृंखला चलाना चाहते हैं, तो लूप आसान होते हैं।
बैश जैसी भाषाओं की स्क्रिप्टिंग में, दोहराए जाने वाले कार्यों को स्वचालित करने के लिए लूप उपयोगी होते हैं।
बैश स्क्रिप्टिंग में तीन बुनियादी लूप कंस्ट्रक्शन होते हैं, लूप के लिए, जबकि लूप और लूप तक।
इस ट्यूटोरियल में, हम बैश में लूप्स की मूल बातें कवर करेंगे। हम आपको यह भी दिखाएंगे कि ब्रेक का उपयोग कैसे करें और लूप के प्रवाह को बदलने के लिए बयान जारी रखें।
लूप के लिए मानक बैश
लूप के लिए मदों की एक सूची से अधिक पुनरावृत्त होता है और दिए गए सेटों को निष्पादित करता है।
लूप के लिए बैश निम्न रूप लेता है:
for item in do done
सूची रिक्त स्थान द्वारा अलग किए गए तारों की संख्या, संख्याओं की एक श्रृंखला, एक कमांड का उत्पादन, एक सरणी, और इसी तरह हो सकती है।
तार पर लूप
लूप के नीचे के उदाहरण में तार की सूची में प्रत्येक आइटम पर पुनरावृति होगी, और चर
element
वर्तमान आइटम पर सेट किया जाएगा।
for element in Hydrogen Helium Lithium Beryllium do echo "Element: $element" done
लूप निम्नलिखित उत्पादन का उत्पादन करेगा:
Element: Hydrogen Element: Helium Element: Lithium Element: Beryllium
एक नंबर रेंज पर लूप
आप क्रम अभिव्यक्ति का उपयोग रेंज के एक बिंदु और अंतिम बिंदु को परिभाषित करके संख्याओं या वर्णों की एक श्रृंखला को निर्दिष्ट करने के लिए कर सकते हैं। अनुक्रम अभिव्यक्ति निम्नलिखित रूप लेता है:
{START..END}
लूप के नीचे के उदाहरण में 0 से 3 तक सभी नंबरों के माध्यम से पुनरावृति होगी।
for i in {0..3} do echo "Number: $i" done
Number: 0 Number: 1 Number: 2 Number: 3
बैश 4 से शुरू होकर, रेंज का उपयोग करते समय वेतन वृद्धि को निर्दिष्ट करना भी संभव है। अभिव्यक्ति निम्नलिखित रूप लेती है:
{START..END..INCREMENT}
for i in {0..20..5} do echo "Number: $i" done
Number: 0 Number: 5 Number: 10 Number: 15 Number: 20
सरणी तत्वों पर लूप करें
आप तत्वों के एक सरणी पर पुनरावृति करने के लिए लूप के लिए भी उपयोग कर सकते हैं:
नीचे दिए गए उदाहरण में, हम एक सरणी
BOOKS
को परिभाषित कर रहे हैं और सरणी के प्रत्येक तत्व पर पुनरावृत्ति कर रहे हैं।
BOOKS=('In Search of Lost Time' 'Don Quixote' 'Ulysses' 'The Great Gatsby') for book in "${BOOKS}"; do echo "Book: $book" done
Book: In Search of Lost Time Book: Don Quixote Book: Ulysses Book: The Great Gatsby
लूप के लिए सी-स्टाइल बैश
लूप के लिए C- स्टाइल का सिंटैक्स निम्नलिखित रूप ले रहा है:
for ((INITIALIZATION; TEST; STEP)) do done
जब लूप शुरू होता है तो केवल एक बार
INITIALIZATION
भाग को निष्पादित किया जाता है। फिर,
TEST
भाग का मूल्यांकन किया जाता है। यदि यह गलत है तो लूप समाप्त हो जाता है। यदि
TEST
सत्य है, तो लूप के लिए निकाय के अंदर आदेश निष्पादित किए जाते हैं और
STEP
भाग अपडेट किया जाता है।
निम्नलिखित कोड में,
i = 0
को प्रारंभ करके लूप तारे, फिर प्रत्येक पुनरावृत्ति से पहले अगर
i ≤ 10
।
i ≤ 10
जांच करता
i ≤ 10
। यदि यह सही है तो
i
और
i
के वर्तमान मान को 1 (
i++
) से प्रिंट करता है अन्यथा लूप समाप्त हो जाता है।
for ((i = 0; i <= 1000; i++)); do echo "Counter: $i" done
लूप 1001 बार पुनरावृति करेगा और निम्नलिखित उत्पादन करेगा:
Counter: 0 Counter: 1 Counter: 2… Counter: 998 Counter: 999 Counter: 1000
विवरणों को तोड़ें और जारी रखें
लूप निष्पादन के लिए नियंत्रण के लिए ब्रेक और जारी बयान का उपयोग किया जा सकता है।
ब्रेक स्टेटमेंट
विराम कथन वर्तमान लूप को समाप्त करता है और समाप्त किए गए कथन का अनुसरण करता है। यह आमतौर पर लूप को समाप्त करने के लिए उपयोग किया जाता है जब एक निश्चित स्थिति पूरी होती है।
निम्नलिखित उदाहरण में, यदि वर्तमान पुनरावृत्त आइटम 'लिथियम' के बराबर है, तो हम लूप के निष्पादन को समाप्त करने के लिए यदि कथन का उपयोग कर रहे हैं।
for element in Hydrogen Helium Lithium Beryllium; do if]; then break fi echo "Element: $element" done echo 'All Done!'
Element: Hydrogen Element: Helium All Done!
जारी बयान
जारी बयान लूप की वर्तमान पुनरावृत्ति से बाहर निकलता है और लूप के अगले पुनरावृत्ति को प्रोग्राम नियंत्रण पास करता है।
निम्नलिखित उदाहरण में, हम संख्याओं की एक श्रेणी के माध्यम से पुनरावृत्ति कर रहे हैं और जब वर्तमान पुनरावृत्त आइटम '2' के बराबर होता है, तो जारी बयान लूप की शुरुआत में लौटने और अगले पुनरावृत्ति के साथ जारी रखने के लिए निष्पादन का कारण होगा।
for i in {1..5}; do if]; then continue fi echo "Number: $i" done
Number: 1 Number: 3 Number: 4 Number: 5
बैश फॉर लूप उदाहरण
फ़ाइल नाम में रिक्त स्थान के साथ फ़ाइलों का नाम बदलना
निम्न उदाहरण दिखाता है कि कैसे अंडरस्कोर में स्थान को बदलकर अपने नाम में एक स्थान के साथ वर्तमान निर्देशिका में सभी फ़ाइलों का नाम बदलने के लिए बैश का उपयोग लूप के लिए किया जाता है।
for file in *\ *; do mv "$file" "${file// /_}" done
चलो कोड लाइन को लाइन से तोड़ते हैं:
- पहली पंक्ति लूप के लिए बनाता है और इसके नाम की एक जगह के साथ सभी फाइलों की सूची के माध्यम से पुनरावृति करता है। अभिव्यक्ति
*\ *
सूची बनाता है। दूसरी पंक्ति सूची के प्रत्येक आइटम पर लागू होती है और फ़ाइल को एक अंडरस्कोर (_
) के साथ अंतरिक्ष को बदलने वाले नए पर ले जाती है। भाग${file// /_}
स्ट्रिंग के साथ एक पैरामीटर के भीतर एक पैटर्न को बदलने के लिए शेल पैरामीटर विस्तार का उपयोग कर रहा है।done
पाश खंड के अंत का संकेत है।
फ़ाइल एक्सटेंशन बदलना
निम्न उदाहरण दिखाता है कि कैसे.jpeg से फ़ाइल एक्सटेंशन को.jpg से.jpg में बदलकर.jpeg के साथ समाप्त होने वाली सभी फाइलों का नाम बदलने के लिए बैश का उपयोग लूप के लिए किया जाता है।
for file in *.jpeg; do mv -- "$file" "${file%.jpeg}.jpg" done
चलो लाइन द्वारा कोड लाइन का विश्लेषण करते हैं:
- पहली पंक्ति लूप के लिए बनाता है और '.jpeg' के साथ समाप्त होने वाली सभी फ़ाइलों की सूची के माध्यम से पुनरावृति करता है। दूसरी पंक्ति सूची के प्रत्येक आइटम पर लागू होती है और फ़ाइल को '.jpg' के साथ '.jpeg' के स्थान पर एक नए स्थान पर ले जाती है। ।
${file%.jpeg}
शेल पैरामीटर विस्तार का उपयोग करके फ़ाइल नाम से '.jpeg' भाग को हटाने के लिए लूप खंड के अंत को इंगित करता है।
निष्कर्ष
अब तक आपको इस बात की अच्छी समझ होनी चाहिए कि सूचियों के माध्यम से लूप के लिए बैश का उपयोग कैसे किया जाए।
बैश लूप टर्मिनलबैश: फ़ाइल करने के लिए संलग्न करें

लिनक्स में, टेक्स्ट को फाइल में अपग्रेड करने के कई तरीके हैं। यह लेख उनमें से कुछ की व्याख्या करता है।
पाश तक बैश

बैश जैसी भाषाओं की स्क्रिप्टिंग में, दोहराए जाने वाले कार्यों को स्वचालित करने के लिए लूप उपयोगी होते हैं। यह ट्यूटोरियल बैश में लूप की मूल बातें बताता है। जब तक लूप का उपयोग दिए गए आदेशों के सेट को निष्पादित करने के लिए किया जाता है जब तक कि दी गई स्थिति झूठी का मूल्यांकन करती है।
कैसे बैश उपनाम बनाने के लिए

बैश उपनाम अनिवार्य रूप से शॉर्टकट होते हैं जो आपको लंबी कमांड को याद रखने और कमांड लाइन पर काम करने के दौरान बहुत कुछ टाइप करने से बचा सकते हैं।