प्रौद्योगिकी के साथ अपने जीवन को आसान बनाने के सर्वोत्तम तरीकों में से एक, चाहे वह काम पर हो या घर पर, स्वचालन का उपयोग करना है। स्क्रिप्ट और समयबद्ध नौकरियों के साथ कार्यों को स्वचालित करना आपको समय, सिरदर्द और प्रयास बचाने का एक निश्चित तरीका है। हालांकि, यह तुरंत स्पष्ट नहीं है कि कहां से शुरू किया जाए। यहां हम आपको दिखाते हैं कि बैश for
. का उपयोग कैसे करें लूप कमांड, आईटी ऑटोमेशन के मूलभूत उपकरणों में से एक, आपको आरंभ करने के लिए।
अपना परीक्षण परिवेश सेट करना
पहली चीज़ जो आपको चाहिए वह है बैश का कार्यशील उदाहरण। यह Linux, Unix, BSD, और macOS में टर्मिनल में डिफ़ॉल्ट शेल है (जब तक कि आप zsh नहीं चला रहे हों)। आप अपने टर्मिनल में निम्न कमांड टाइप करके जांच सकते हैं कि आप कौन सा शेल चला रहे हैं:
echo $SHELL
इसे आपके द्वारा उपयोग किए जा रहे शेल का प्रिंट आउट लेना चाहिए। मेरा आउटपुट मुझे बताता है कि मैं /bin/bash
. का उपयोग कर रहा हूं , जो ठीक वही है जिसकी मुझे तलाश है।
आपको एक टेक्स्ट एडिटर की भी आवश्यकता होगी - जो भी संपादक आप चुनते हैं वह ठीक होना चाहिए। मैं टर्मिनल में नैनो का उपयोग कर रहा हूं, लेकिन आप टर्मिनल में आसानी से Vim या Emacs या GUI में Gedit, Kate, या Sublime जैसी किसी चीज़ का उपयोग कर सकते हैं।
touch
. का उपयोग करके अपने टेक्स्ट एडिटर में एक स्क्रिप्ट फ़ाइल बनाएं कमांड या सिर्फ अपने टेक्स्ट एडिटर का नाम टाइप करना और उस फाइल का नाम जिसे आप बनाना चाहते हैं। मेरे लिए, मैं बस टाइप कर सकता था nano for-loop-test.sh
, और मैं सुनहरा हो जाऊंगा।
द बैश फॉर लूप:द बेसिक्स
बैश में फॉर लूप, शेल को ऑब्जेक्ट्स की एक निर्दिष्ट श्रेणी पर पुनरावृति करने और उन ऑब्जेक्ट्स पर एक निर्दिष्ट कमांड निष्पादित करने के लिए कहता है। इसका क्या मतलब है? मुझे लगता है कि आपको दिखाना आसान हो सकता है। यह एक बहुत ही बुनियादी फॉर लूप है।
पहली पंक्ति, for i in 1 2 3 4 5
एक चर "i" और एक श्रेणी 1 से 5 निर्दिष्ट करता है। यह आसानी से संख्याओं का कोई अन्य, अधिक जटिल अनुक्रम हो सकता है, या यह वहां या निर्देशिका में इनपुट की गई फ़ाइलों की एक सूची हो सकती है।
अगला बिट मूल स्वरूपण है, जिसमें टैब्ड भाग में कमांड निष्पादित किया जाना है। do
और done
फॉर लूप सिंटैक्स का हिस्सा है और वहां रहना होगा। अगर मैं इस स्क्रिप्ट को चलाता, तो मुझे इस तरह का आउटपुट मिलता:
Test round 1 Test round 2 Test round 3 Test round 4 Test round 5
आप देख सकते हैं कि वह चर कैसे आता है। यह आपको उस इनपुट रेंज में प्रत्येक व्यक्तिगत वस्तु की पहचान करने में मदद करता है। थोड़ी अधिक जटिल संख्या श्रेणियों को निर्दिष्ट करने के लिए, आप उन्हें सेट करने के लिए घुंघराले ब्रेसिज़ का उपयोग कर सकते हैं। पहले से उसी श्रेणी को निर्दिष्ट करने के लिए, आप for $i in 1 2 3 4 5
. में बदल सकते हैं करने के लिए for $i in {1..5}
. आउटपुट समान होगा। आप इसे कुछ निश्चित संख्याओं से भी गिन सकते हैं। यह 0 और 27 के बीच सभी संख्याओं को 3 से गिन रहा है।
कुछ ऐसा जो स्क्रिप्ट में अधिक सामान्य है, वह है फाइलों के समूह पर एक विशेष कमांड निष्पादित करना। अगर मैं cat
का उपयोग करना चाहता हूं निर्देशिका में फ़ाइलों के एक समूह पर, मैं स्क्रिप्ट को निम्नलिखित में बदलकर ऐसा कर सकता था।
यह "परीक्षण-निर्देशिका" में सभी फ़ाइलों के आउटपुट को टर्मिनल पर प्रिंट करेगा।
मेरे मामले में आउटपुट निम्न जैसा दिखेगा।
आप अंदाजा लगा सकते हैं कि फॉर लूप कितना शक्तिशाली हो सकता है। यह केवल सतह को खरोंच रहा है, और आप do
. के बीच कई कमांड को एक साथ स्ट्रिंग कर सकते हैं और done
, और आप आदेशों को अधिक जटिल बनाने के लिए सशर्त कथनों का भी उपयोग कर सकते हैं।
हमारे अन्य बैश लेखों को देखना न भूलें, जैसे बैश टिप्स एंड ट्रिक्स टू वर्क स्मार्टर इन टर्मिनल और कुछ बैश स्पेशल कैरेक्टर जिन्हें आपको जानना चाहिए।