बैश कैसे एक चर में एक आदेश निष्पादित करने के लिए?

Bash How Execute Command Variable



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

नोट: नीचे दिखाए गए सभी परिदृश्य उबंटू 20.04 पर किए गए हैं। हालांकि, वे ठीक उसी तरह काम करेंगे जैसे लिनक्स के किसी अन्य फ्लेवर के साथ भी।







बैश में एक चर में एक कमांड निष्पादित करने की विधि:

बैश में एक चर में एक कमांड निष्पादित करने की विधि को प्रदर्शित करने के लिए, हम आपको तीन अलग-अलग परिदृश्य प्रस्तुत करेंगे जो इस प्रकार हैं:



एक चर में संग्रहीत इको कमांड निष्पादित करना:

यह सबसे सरल परिदृश्य है जिसमें हमारा लक्ष्य एक चर में संग्रहीत इको कमांड को निष्पादित करना है। ऐसा करने के लिए, आपको नीचे बताए गए चरणों की श्रृंखला का पालन करना होगा:



चरण # 1: बैश स्क्रिप्ट बनाना:

आपको अपने होम फोल्डर में एक बैश स्क्रिप्ट बनानी होगी जिसके लिए आपको फाइल मैनेजर आइकन पर क्लिक करना होगा जैसा कि आप निम्न छवि से देख सकते हैं:





अब अपने होम फोल्डर में कोई भी जगह ढूंढें और मेनू लॉन्च करने के लिए उस पर राइट-क्लिक करें। इस मेनू से नया दस्तावेज़ विकल्प चुनें और फिर सब-कैस्केडिंग मेनू से खाली दस्तावेज़ विकल्प चुनें। ऐसा करते ही आपके होम फोल्डर में एक नया डॉक्यूमेंट बन जाएगा। अब इस नए बनाए गए दस्तावेज़ को अपनी पसंद के किसी भी नाम के साथ .sh एक्सटेंशन के साथ नाम बदलें। हमारे मामले में, हमने इसे CommandVar.sh नाम दिया है।



इस फ़ाइल में बैश स्क्रिप्ट लिखने के लिए, इसे खोलने के लिए डबल क्लिक करें और फिर अपनी बैश फ़ाइल में नीचे दी गई छवि में दिखाई गई स्क्रिप्ट टाइप करें। यहाँ, स्क्रिप्ट की पहली पंक्ति यानी #!/bin/bash से पता चलता है कि यह फ़ाइल वास्तव में एक बैश फ़ाइल है। फिर हमने टेस्ट नाम का एक वेरिएबल बनाया है और इसे मान दिया है $(echo Hi वहाँ!)। जब भी आप कमांड को एक वेरिएबल में स्टोर करना चाहते हैं, तो आपको उस कमांड को $ सिंबल से पहले टाइप करना होगा। इस मामले में, हम टेस्ट वेरिएबल में इको कमांड को स्टोर करना चाहते थे, इसलिए हमने बस एक यादृच्छिक संदेश के बाद इको कमांड टाइप किया है और इसे गोल कोष्ठक में संलग्न किया है, और इसके सामने एक $ प्रतीक रखा है। तो अब, अगर हम इस इको कमांड को निष्पादित करना चाहते हैं, तो हमें टेस्ट वेरिएबल का उपयोग करना होगा। इसलिए, यह सत्यापित करने के लिए कि परीक्षण चर में संग्रहीत इको कमांड को सफलतापूर्वक निष्पादित किया जा सकता है या नहीं, हमने दूसरे इको कमांड का उपयोग करके टर्मिनल पर परीक्षण चर के आउटपुट को प्रिंट किया है। इस स्क्रिप्ट को टाइप करने के बाद, आपको अपनी फाइल को सेव करके उसे बंद करना होगा।

चरण # 2: टर्मिनल के माध्यम से बैश स्क्रिप्ट का निष्पादन:

अब आपको इस स्क्रिप्ट को टर्मिनल के माध्यम से निष्पादित करना होगा। तो, Ubuntu 20.04 में टर्मिनल खोलें और फिर उसमें निम्न कमांड टाइप करें:

दे घुमा केकमांडवार.शो

जब आप इस कमांड को निष्पादित करने के लिए एंटर कुंजी दबाएंगे, तो आप अपने टर्मिनल पर निम्न आउटपुट देख पाएंगे। यहां, आउटपुट का हाइलाइट किया गया हिस्सा इको कमांड का आउटपुट है जिसे टेस्ट वेरिएबल में स्टोर किया गया था।

एक चर में संग्रहीत seq कमांड को निष्पादित करना:

इस परिदृश्य में, हम एक चर में संग्रहीत seq कमांड का उपयोग करके संख्याओं का एक क्रम प्रिंट करेंगे। ऐसा होने के लिए, हम निम्नलिखित चरणों का पालन करके ऊपर बनाई गई बैश स्क्रिप्ट को संशोधित करेंगे:

चरण # 1: ऊपर बनाई गई बैश स्क्रिप्ट को संशोधित करना:

ऊपर दिए गए तरीके से आपने जो बैश फाइल बनाई है उसे खोलें और उसमें निम्न स्क्रिप्ट टाइप करें। यहां, हमने सीक्वेंस नाम का एक वेरिएबल बनाया है। हमारा लक्ष्य seq कमांड का उपयोग करते हुए 1 से 10 तक की संख्याओं को प्रिंट करना है। ऐसा करने के लिए, हमने अनुक्रम चर के लिए मान $(seq 1 10) निर्दिष्ट किया है। यदि आप चाहें तो आप अपनी पसंद की संख्याओं की कोई अन्य श्रेणी भी निर्दिष्ट कर सकते हैं। seq कमांड के बाद पहली संख्या अनुक्रम की निचली सीमा को इंगित करती है जबकि दूसरी संख्या ऊपरी सीमा को दर्शाती है। इस स्क्रिप्ट को टाइप करने के बाद अपनी फाइल को सेव करें और बंद कर दें।

चरण # 2: टर्मिनल के माध्यम से संशोधित बैश स्क्रिप्ट का निष्पादन:

अब अपनी बैश स्क्रिप्ट को ऊपर बताए अनुसार निष्पादित करें और आप अपने टर्मिनल पर निर्दिष्ट अनुक्रम देख पाएंगे जैसा कि नीचे दी गई छवि में दिखाया गया है:

एक चर में संग्रहीत 'pwd' कमांड निष्पादित करना:

आप एक चर में संग्रहीत pwd कमांड का उपयोग करके अपनी कार्यशील निर्देशिका को प्रिंट भी कर सकते हैं। इसे प्रदर्शित करने के लिए, हम नीचे दिए गए चरणों का पालन करके ऊपर बनाई गई बैश स्क्रिप्ट को फिर से संशोधित करेंगे:

चरण # 1: ऊपर बनाई गई बैश स्क्रिप्ट को संशोधित करना:

बैश फ़ाइल खोलें जिसे आपने अभी संशोधित किया है और फिर उसमें निम्न छवि में दिखाई गई स्क्रिप्ट टाइप करें। इस स्क्रिप्ट में, हमने वर्किंग_डायरेक्टरी नाम का एक वेरिएबल बनाया है और इसे मान $(pwd) असाइन किया है। pwd कमांड केवल अपने आउटपुट यानी वर्तमान वर्किंग डायरेक्टरी को वर्किंग_डायरेक्टरी वेरिएबल में स्टोर करेगा। यह सुनिश्चित करने के लिए कि pwd कमांड को सही तरीके से निष्पादित किया गया है या नहीं, हमने इको कमांड का उपयोग करके टर्मिनल पर वर्किंग_डायरेक्टरी वेरिएबल का मान प्रिंट किया है। अब इस फाइल को सेव करें और फिर इसमें मॉडिफाइड बैश स्क्रिप्ट टाइप करके बंद कर दें।

चरण # 2: टर्मिनल के माध्यम से संशोधित बैश स्क्रिप्ट का निष्पादन:

अब इस बैश स्क्रिप्ट को उसी तरीके से निष्पादित करें जैसा ऊपर बताया गया है। इस बैश स्क्रिप्ट का आउटपुट आपको वर्तमान कार्यशील निर्देशिका दिखाएगा। आउटपुट का हाइलाइट किया गया हिस्सा वास्तव में pwd कमांड का आउटपुट है।

निष्कर्ष:

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