खोज…


परिचय

डिफ़ॉल्ट रूप से, बैश में प्रत्येक चर हर फ़ंक्शन, स्क्रिप्ट और यहां तक कि बाहर के शेल के लिए वैश्विक है यदि आप किसी स्क्रिप्ट के अंदर अपने चर घोषित कर रहे हैं।

यदि आप चाहते हैं कि आपका वैरिएबल किसी फंक्शन में लोकल हो, तो आप local का इस्तेमाल उस वैरिएबल को कर सकते हैं, जो वैरिएबल स्कोप से स्वतंत्र हो और जिसकी वैल्यू केवल उस फंक्शन के अंदर उपलब्ध हो।

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

var="hello"

function foo(){
    echo $var
}

foo

जाहिर तौर पर "हैलो" का उत्पादन होगा, लेकिन यह दूसरे तरीके से भी काम करता है:

function foo()  {
    var="hello"
}

foo
echo $var

"hello" भी उत्पादन करेगा

स्थानीय चर

function foo() {
    local var
    var="hello"
}

foo
echo $var

आउटपुट कुछ भी नहीं होगा, क्योंकि var फंक्शन फू के लिए एक वैरिएबल लोकल है, और इसका मान इसके बाहर से दिखाई नहीं देता है।

दोनों को मिला कर

var="hello"

function foo(){
    local var="sup?"
    echo "inside function, var=$var"
}

foo
echo "outside function, var=$var"

उत्पादन करेगा

inside function, var=sup?
outside function, var=hello


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow