मैं बैश में एक चर कैसे बढ़ा सकता हूं?

How Do I Increment Variable Bash



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

लिनक्स टकसाल 20 में बैश में एक चर बढ़ाने के उदाहरण:

बैश में एक चर को बढ़ाने के विभिन्न तरीके हैं। हम नीचे दिए गए उदाहरणों के माध्यम से कुछ सबसे सामान्य लोगों का विस्तार करने का प्रयास करेंगे। हालाँकि, हम आपको पूर्व और बाद के वेतन वृद्धि की अवधारणाओं से परिचित कराना चाहते हैं। पहले वाले के मामले में, एक चर का मान पहले बढ़ाया जाता है और फिर दूसरे चर को सौंपा जाता है, जबकि बाद में, एक चर का मान पहले संग्रहीत किया जाता है और बाद में बढ़ाया जाता है। पहले दो उदाहरणों से प्री-इंक्रीमेंट और पोस्ट-इंक्रीमेंट दोनों के प्रभाव काफी स्पष्ट होंगे। तो, आइए उदाहरण बैश स्क्रिप्ट देखें।







उदाहरण # 1: एक चर को बढ़ाने के बाद:

वेतन वृद्धि के बाद के प्रभाव को देखने के लिए, आपको नीचे दी गई छवि में दिखाई गई स्क्रिप्ट को किसी भी बैश फ़ाइल में कॉपी करना होगा। आप अपनी पसंद के किसी भी नाम के साथ अपनी होम निर्देशिका में एक बैश फ़ाइल बना सकते हैं, उसके बाद एक .sh एक्सटेंशन बना सकते हैं।





इस स्क्रिप्ट में, हमने एक वेरिएबल x घोषित किया है और इसे मान 0 के साथ इनिशियलाइज़ किया है। फिर हमारे पास एक और वेरिएबल है, a, जहां हमने वेरिएबल x का पोस्ट इंक्रीमेंटेड वैल्यू असाइन किया है। अंत में, टर्मिनल पर वेरिएबल a का मान प्रिंट किया जाएगा





हमारे आउटपुट पर इस असाइनमेंट के प्रभाव को देखने के लिए, हमें इस स्क्रिप्ट को नीचे दिखाए गए कमांड के साथ निष्पादित करना होगा:

$दे घुमा केवेतन वृद्धि



चूँकि हमने वेरिएबल x को पोस्ट इंक्रीमेंट किया है और इसे वेरिएबल a को असाइन किया है, इसलिए, वेरिएबल a का मान अभी भी 0 होगा। ऐसा इसलिए है क्योंकि वेरिएबल x (जो शुरू में 0 था) का मान पहले वेरिएबल a और फिर इसे बढ़ा दिया गया। यह आउटपुट निम्न छवि में दिखाया गया है:

उदाहरण # 2: एक चर को पूर्व-वृद्धि करना:

अब, पूर्व-वृद्धि के प्रभाव की जाँच के लिए, हम उसी स्क्रिप्ट का उपयोग करेंगे जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, थोड़ा संशोधन के साथ, जो नीचे की छवि में दिखाया गया है:

इस स्क्रिप्ट में, पोस्ट-इंक्रीमेंट का उपयोग करने के बजाय, हमने केवल प्री-इंक्रीमेंट का उपयोग किया है। शेष स्क्रिप्ट उदाहरण #1 के समान ही है।

अब, जब हम इस स्क्रिप्ट को निष्पादित करते हैं, तो हम देखेंगे कि वेरिएबल a का मान 0 के बजाय 1 होगा क्योंकि, इस बार, वेरिएबल x का मान पहले बढ़ाया गया था, और इसे वेरिएबल a को असाइन किया गया था। यह आउटपुट निम्न छवि में दिखाया गया है:

उदाहरण # 3: लूप के भीतर एक वैरिएबल को पोस्ट-इन्क्रिमेंट करना:

जब आपने प्री-इंक्रीमेंट और पोस्ट-इंक्रीमेंट की अवधारणा को स्पष्ट रूप से समझ लिया है, तो हम इस अवधारणा का उपयोग लूप के लिए कर सकते हैं। उदाहरण स्क्रिप्ट नीचे दी गई छवि में दिखाया गया है:

इस स्क्रिप्ट में, एक काउंटर वेरिएबल या एक इटरेटर के साथ लूप के लिए एक सरल है जिसका मूल्य वृद्धि के बाद किया जा रहा है। तब हमने प्रत्येक पुनरावृत्ति के लिए केवल i का मान मुद्रित किया है।

इस स्क्रिप्ट का आउटपुट निम्न छवि में दिखाया गया है:

उदाहरण # 4: लूप के भीतर एक चर को पूर्व-वृद्धि करना:

लूप के भीतर एक चर को पूर्व-वृद्धि करने के लिए, उदाहरण स्क्रिप्ट को नीचे की छवि में दिखाया गया है:

यह स्क्रिप्ट वैसी ही है जैसी हमने उदाहरण #3 में की थी। प्री-इंक्रीमेंट के साथ पोस्ट-इंक्रीमेंट का प्रतिस्थापन दो लिपियों के बीच एकमात्र अंतर है।

इस स्क्रिप्ट का आउटपुट संलग्न छवि में प्रदर्शित होता है। यह आउटपुट वही है जो उदाहरण #3 में दिखाया गया है, और आप सोच रहे होंगे कि क्यों? ऐसा इसलिए है क्योंकि इस बार, हम वेरिएबल i का मान किसी अन्य वेरिएबल को निर्दिष्ट नहीं कर रहे हैं। इसीलिए इन उदाहरणों में प्री-इंक्रीमेंट और पोस्ट-इंक्रीमेंट के प्रभाव अप्रभेद्य हो गए हैं।

उदाहरण #5: += नोटेशन के साथ लूप के दौरान एक वैरिएबल को बढ़ाना:

+= संकेतन का उपयोग एक चर के मूल्य को बढ़ाने के लिए भी किया जा सकता है और उदाहरण स्क्रिप्ट का प्रदर्शन किया जाता है, यह नीचे की छवि में दिखाया गया है:

इस स्क्रिप्ट में, हमने एक वेरिएबल i घोषित किया है और मान 0 असाइन किया है। फिर हमारे पास एक समय लूप है जो इस वेरिएबल पर तब तक चलता रहता है जब तक कि इसका मान 5 से कम न हो। इस लूप के भीतर, हम इस वेरिएबल के मान को प्रिंट कर रहे हैं और फिर += संकेतन का उपयोग करके इसके मान में वृद्धि करना।

इस स्क्रिप्ट का आउटपुट निम्न छवि में दिखाया गया है:

उदाहरण #6: लूप के दौरान +1 नोटेशन के साथ एक वैरिएबल को बढ़ाना:

+1 अंकन भी एक चर के मान को 1 से बढ़ाने का एक और तरीका है। इसे प्रदर्शित करने वाली उदाहरण स्क्रिप्ट नीचे दी गई छवि में दिखाई गई है:

यह स्क्रिप्ट वैसी ही है जैसी हमने उदाहरण #5 में की थी। +1 नोटेशन के साथ += नोटेशन का प्रतिस्थापन दो लिपियों के बीच एकमात्र अंतर है।

इस स्क्रिप्ट का आउटपुट निम्न छवि में दिखाया गया है:

निष्कर्ष:

आज के ट्यूटोरियल में, हमने बैश में एक वेरिएबल को बढ़ाने के छह अलग-अलग तरीके सीखे। हमने प्री-इंक्रीमेंट और पोस्ट-इंक्रीमेंट की अवधारणाओं पर भी प्रकाश डाला और उपयुक्त उदाहरणों का उपयोग करके इन अवधारणाओं को चित्रित किया। आपको अपने प्रोग्राम से जिस कार्यक्षमता की आवश्यकता होती है, उसके आधार पर, आप या तो अपने काउंटर वेरिएबल्स या इटरेटर्स को प्री-इन्क्रीमेंट या पोस्ट-इंक्रीमेंट चुन सकते हैं। लिनक्स टकसाल 20 में बैश में वृद्धिशील चर के किसी भी तरीके का उपयोग करके, आप आसानी से अपने वांछित चर के मूल्य को 1 से बढ़ा सकते हैं।