Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

बैश/शैल लिपियों में चर और उनका उपयोग कैसे करें [ट्यूटोरियल]

यह लेख आपको दिखाएगा कि लिनक्स में बैश और शेल स्क्रिप्ट में चर का उपयोग कैसे करें।

बैश (या लिनक्स शेल) स्क्रिप्ट वे फ़ाइलें होती हैं जिन्हें आप सामान्य कार्यों को स्वचालित करने और अपने आप को कुछ समय बचाने के लिए कमांड युक्त लिखते हैं।

चर स्क्रिप्ट में ऐसी चीजें हैं जो बाद में उपयोग के लिए एक मूल्य रखती हैं - एक संख्या, या एक फ़ाइल नाम, या कुछ भी, वास्तव में।

लिनक्स शेल स्क्रिप्ट में चर को परिभाषित और उपयोग करने का तरीका यहां दिया गया है। इन उदाहरणों को सबसे लोकप्रिय Linux शैल, बैश, और Zsh में काम करना चाहिए।

बैश वैरिएबल घोषित करना

बैश वैरिएबल डिफ़ॉल्ट रूप से टाइप नहीं होते हैं। आप बता नहीं कर सकते यह एक चर के साथ क्या किया जा सकता है - यह निहित है।

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

नीचे, कई चर घोषित किए गए हैं – MY_STRINGMY_FILE_PATH, और MY_NUMBER . ये सभी टाइप न किए गए चर हैं।

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

# के बारे में जानने के लिए यहां क्लिक करें!

कमांड सिंटैक्स 'घोषित' करें

ध्यान दें कि घोषणा बैश . के लिए विशिष्ट है पर्यावरण और यदि आप एक अलग शेल का उपयोग कर रहे हैं तो मौजूद नहीं हो सकते हैं।

घोषणा . का सिंटैक्स इस प्रकार है:

declare OPTIONS variable_name=variable_value

ध्यान दें कि:

  • विकल्प वैकल्पिक है और चर के प्रकार या व्यवहार को निर्धारित करने के लिए नीचे दी गई तालिका से चुना जा सकता है
  • variable_name उस चर का नाम है जिसे आप परिभाषित/घोषित करना चाहते हैं
  • variable_value उक्त चर का मान है
<थ>अर्थ
घोषणा करें विकल्प
-r केवल पढ़ने के लिए केवल-पढ़ने के लिए वैरिएबल घोषित करें
-i पूर्णांक एक पूर्णांक चर घोषित करें
-a सरणी एक वेरिएबल घोषित करें जो एक सरणी है
-f फ़ंक्शन (फ़ंक्शन) एक वेरिएबल घोषित करें जो एक फ़ंक्शन है
-x निर्यात एक वैरिएबल घोषित करें जिसे स्क्रिप्ट के बाहर निर्यात किया जा सकता है

'घोषणा' कमांड उदाहरण

यहां एक स्ट्रिंग वेरिएबल घोषित किया गया है (यानी, कोई विकल्प . नहीं आपूर्ति), उसके बाद एक पूर्णांक चर।

#!/bin/bash   

declare MY_STRING="Hello Linux!"
declare -i MY_NUMBER=4

अब, यदि आपने MY_STRING के मान को MY_NUMBER के मान पर निर्दिष्ट करने का प्रयास किया है, तो MY NUMBER को 0 पर सेट किया जाएगा - क्योंकि स्ट्रिंग किसी संख्या का मूल्यांकन नहीं करती है।

घोषणा करें केवल बुनियादी टाइपिंग कार्यक्षमता प्रदान करता है, इसलिए यह वास्तव में भरोसा करने के लिए कुछ नहीं है- लेकिन यह सुनिश्चित करने के लिए उपयोगी हो सकता है कि एक चर केवल एक निश्चित प्रकार का मान धारण कर सकता है।

बैश वैरिएबल का उपयोग करना

किसी वैरिएबल का इस्तेमाल करने के लिए, उसके पहले $ . लगाएं (डॉलर का चिह्न)। उदाहरण के लिए:

#!/bin/bash          

MY_STRING="Hello Linux!"
MY_FILE_PATH=/path/to/my/file.txt
MY_NUMBER=4

echo $MY_STRING # Prints the string variable
touch $MY_FILE_PATH # Create or update the file at the given path
MY_NUMBER=$(($MY_NUMBER+1)) # Increment MY_NUMBER by evaluating a mathmatical formula

स्पर्श . के उपयोग पर ध्यान दें उपरोक्त स्क्रिप्ट में फ़ाइल बनाने या अपडेट करने का आदेश।

डबल ब्रैकेट के उपयोग पर ध्यान दें (()) - यह बैश को उनके भीतर निहित कथन का मूल्यांकन करने के लिए कहता है - अन्यथा, MY_NUMBER को "$MY NUMBER+1" वर्णों वाला एक स्ट्रिंग मान दिया जाएगा।

स्ट्रिंग्स में वेरिएबल का उपयोग करना

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

एक स्ट्रिंग में एक वेरिएबल को शामिल करने के लिए, बस इसे किसी अन्य स्ट्रिंग के रैप्ड कोट्स में उपयोग करें:

echo "This is my string: $MY_STRING"

स्थानीय चर

स्थानीय वेरिएबल केवल उस दायरे में उपलब्ध होते हैं जिसमें वे बनाए जाते हैं, यानी, विशेष फ़ंक्शन या लूप के अंदर जहां उन्हें परिभाषित किया जाता है।

#!/bin/bash

function myFunction {
        local MY_STRING="This string is only available here, in this function"
        echo $MY_STRING
}

echo $MY_STRING # Will print nothing, as the variable was defined locally within a function


  1. कस्टम शैल फ़ंक्शंस और पुस्तकालयों को कैसे लिखें और उपयोग करें

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

  1. विंडोज 10 [ट्यूटोरियल] पर बैश (लिनक्स शेल) को कैसे स्थापित और उपयोग करें

    यहां बताया गया है कि विंडोज़ पर लिनक्स शेल को कैसे सेट अप करें और उसका उपयोग कैसे करें - लिनक्स के लिए विंडोज सबसिस्टम का उपयोग करके (WSL )। यह ट्यूटोरियल 2020 से विंडोज 10 के अप-टू-डेट वर्जन के लिए है। मैं विंडोज 10 के पुराने संस्करणों या विंडोज 8/7/XP/3.1 के अन्य तरीकों पर WSL का उपयोग करने के त

  1. बैश वैरिएबल ट्यूटोरियल - 6 प्रैक्टिकल बैश ग्लोबल और लोकल वेरिएबल उदाहरण

    यह लेख हमारी चल रही बैश ट्यूटोरियल श्रृंखला का हिस्सा है। किसी भी अन्य प्रोग्रामिंग भाषाओं की तरह, बैश भी चर प्रदान करता है। बैश चर जानकारी के लिए अस्थायी भंडारण प्रदान करते हैं जिसकी कार्यक्रम के जीवनकाल के दौरान आवश्यकता होगी।सिंटैक्स: VARNAME=VALUE नोट: वेरिएबल असाइनमेंट में = साइन के आसपास कोई