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

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

वैश्विक चर आमतौर पर सिस्टम पर डिफ़ॉल्ट रूप से प्रदान किए जाते हैं और मुख्य रूप से पर्यावरण और कॉन्फ़िगरेशन चर होते हैं। दूसरी ओर, स्थानीय चर उपयोगकर्ता-परिभाषित होते हैं और उनके मनमाने उपयोग होते हैं।

बैश स्थानीय चर

एक चर बनाने के लिए, आपको अपने चर नाम के लिए एक मान निर्दिष्ट करना होगा। बैश एक टाइप न की गई भाषा है, इसलिए आपको अपने वेरिएबल्स को परिभाषित करते समय डेटा प्रकार को इंगित करने की आवश्यकता नहीं है।

var1=नमस्कार

बैश भी एक ही लाइन पर कई असाइनमेंट की अनुमति देता है:

ए=6 बी=8 सी=9

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

सम्बंधित: लिनक्स में "बैश" का क्या अर्थ है?

ध्यान देने योग्य एक अन्य महत्वपूर्ण बिंदु: बैश आपको पहले एक चर को परिभाषित करने की अनुमति नहीं देता है और फिर बाद में इसके लिए एक मान निर्दिष्ट करता है। निर्माण के समय आपको वेरिएबल के लिए एक मान निर्दिष्ट करना होगा।

var2 # संकलन त्रुटि 
var2=विश्व

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

# var3=हैलो वर्ल्ड 
# उपरोक्त असाइनमेंट काम नहीं करता
var3='हैलो वर्ल्ड'

सिंगल कोट्स के उपयोग पर ध्यान दें। इन उद्धरणों को "मजबूत उद्धरण" भी कहा जाता है क्योंकि वे किसी विशेष वर्ण की परवाह किए बिना ठीक वैसे ही मान निर्दिष्ट करते हैं जैसे यह लिखा गया है।

ऊपर के उदाहरण में, आप दोहरे उद्धरण चिह्नों ("कमजोर उद्धरण") का भी उपयोग कर सकते थे, हालांकि इसका मतलब यह नहीं है कि उन्हें हमेशा एक दूसरे के स्थान पर इस्तेमाल किया जा सकता है। ऐसा इसलिए है क्योंकि दोहरे उद्धरण विशेष वर्णों को प्रतिस्थापित करेंगे (जैसे कि वे जिनके साथ $), उन्हें शाब्दिक रूप से व्याख्या करने के बजाय।

नीचे दिया गया उदाहरण देखें:

var4=89
गूंज "संख्या $var4 है"
गूंज 'संख्या $var4 है'
# पहला आउटपुट प्रिंट: 89
# दूसरा आउटपुट प्रिंट "$var4" जैसा है वैसा ही छोड़ देता है

यदि आप अपने चर के लिए एक कमांड-लाइन आउटपुट असाइन करना चाहते हैं, तो बैकक्वाट्स का उपयोग करें (``). वे उनमें संलग्न स्ट्रिंग को टर्मिनल कमांड के रूप में मानेंगे और उसका परिणाम वापस कर देंगे।

var5="आप वर्तमान में इस निर्देशिका में काम कर रहे हैं: `pwd`"

बैश में पैरामीटर विस्तार

पैरामीटर विस्तार केवल एक चर के मूल्य तक पहुँचने के लिए संदर्भित करता है। अपने सरलतम रूप में, यह विशेष वर्ण का उपयोग करता है $ चर नाम के बाद (बीच में कोई स्थान नहीं के साथ):

var6=जैक
इको मेरा नाम $var6. है

आप वाक्यविन्यास का भी उपयोग कर सकते हैं ${variableName} एक चर के मूल्य तक पहुँचने के लिए। यह प्रपत्र तब अधिक उपयुक्त होता है जब चर नाम को लेकर भ्रम उत्पन्न हो सकता है।

एम = मेड
इको मेड का अर्थ है ${m}ical

यदि आप घुंघराले कोष्ठक छोड़ देते हैं, ${m}ical एक यौगिक चर के रूप में व्याख्या की जाएगी (जो मौजूद नहीं है)। चर के साथ घुंघराले कोष्ठक के इस प्रयोग को "प्रतिस्थापन" के रूप में जाना जाता है।

सार्वत्रिक चर

जैसा कि पहले उल्लेख किया गया है, आपके लिनक्स सिस्टम में कुछ बिल्ट-इन वेरिएबल्स हैं जिन्हें आपकी सभी स्क्रिप्ट्स (या शेल्स) में एक्सेस किया जा सकता है। इन वेरिएबल्स को स्थानीय वैरिएबल के समान सिंटैक्स का उपयोग करके एक्सेस किया जाता है।

सम्बंधित: लिनक्स में बैश स्क्रिप्ट कैसे बनाएं और निष्पादित करें

इनमें से अधिकांश चर बड़े अक्षरों में हैं। हालाँकि, कुछ एकल वर्ण हैं जो अल्फ़ान्यूमेरिक वर्ण भी नहीं हैं।

यहां कुछ सामान्य उपयोगी वैश्विक चर दिए गए हैं:

घर: उपयोगकर्ता की होम निर्देशिका प्रदान करता है

सीप:आपके द्वारा उपयोग किए जा रहे शेल का प्रकार प्रदान करता है (जैसे बैश, csh..etc)

?: पिछली कमांड की निकास स्थिति प्रदान करता है

अपने सिस्टम पर वैश्विक चरों की सूची प्राप्त करने के लिए, चलाएँ प्रिंटेंव (या env) आदेश:

$ प्रिंटेनव 

बैश स्क्रिप्टिंग में लूप्स

अब आप जानते हैं कि वेरिएबल क्या हैं, उन्हें कैसे असाइन करना है, और उनका उपयोग करके बेसिक बैश लॉजिक कैसे करना है।

लूप्स आपको कई कथनों के माध्यम से पुनरावृति करने में सक्षम बनाता है। बैश समायोजित के लिये लूप और जबकि आपकी सभी लूपिंग आवश्यकताओं के लिए एक सरल सिंटैक्स के साथ लूप।

यदि आप बैश विकास की कला में महारत हासिल कर रहे हैं, के लिये लूप आपकी सूची में अगला होना चाहिए।

लिनक्स बैश शेल स्क्रिप्ट में लूप के लिए कैसे उपयोग करें

अपने शेल स्क्रिप्ट में एक ही कोड को बार-बार क्यों चलाएं जब आपके पास लूप के लिए यह आपके लिए कर सकता है?

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • लिनक्स बैश शेल
  • कोडिंग युक्तियाँ
लेखक के बारे में
जेरोम डेविडसन (34 लेख प्रकाशित)

जेरोम MakeUseOf में स्टाफ राइटर हैं। वह प्रोग्रामिंग और लिनक्स पर लेखों को शामिल करता है। वह एक क्रिप्टो उत्साही भी है और हमेशा क्रिप्टो उद्योग पर नजर रखता है।

जेरोम डेविडसन की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें