एंड्रॉयड

लिनक्स में पर्यावरण चर कैसे सेट और सूचीबद्ध करें

Linux Tutorial for Beginners: Introduction to Linux Operating System

Linux Tutorial for Beginners: Introduction to Linux Operating System

विषयसूची:

Anonim

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

पर्यावरण चर आपको यह अनुकूलित करने की अनुमति देते हैं कि सिस्टम कैसे काम करता है और सिस्टम पर अनुप्रयोगों का व्यवहार कैसे करता है। उदाहरण के लिए, पर्यावरण चर डिफ़ॉल्ट पाठ संपादक या ब्राउज़र, निष्पादन योग्य फ़ाइलों के लिए पथ, या सिस्टम लोकेल और कीबोर्ड लेआउट सेटिंग्स के बारे में जानकारी संग्रहीत कर सकता है।

इस गाइड में, हम पर्यावरण और शेल चर को पढ़ने और सेट करने के लिए समझाएंगे।

पर्यावरण चर और शैल चर

चर के निम्नलिखित प्रारूप हैं:

KEY=value KEY="Some other value" KEY=value1:value2

  • चरों के नाम केस-संवेदी होते हैं। अधिवेशन के द्वारा, पर्यावरण चर में UPPER CASE नाम होने चाहिए। जब ​​वे उस चर के लिए कई मान निर्दिष्ट करते हैं जो उन्हें बृहदान्त्र द्वारा अलग किया जाना चाहिए : character। कहीं भी बराबर = प्रतीक के आसपास कोई स्थान नहीं है।

चर को दो मुख्य श्रेणियों, पर्यावरण चर, और शेल चर में वर्गीकृत किया जा सकता है।

पर्यावरण चर वे चर हैं जो उपलब्ध सिस्टम-वाइड हैं और सभी स्पैन्ड चाइल्ड प्रक्रियाओं और गोले द्वारा विरासत में मिले हैं।

शेल चर वे चर हैं जो केवल वर्तमान शेल उदाहरण पर लागू होते हैं। प्रत्येक शेल जैसे zsh और bash , में आंतरिक शेल चरों का अपना सेट होता है।

कई कमांड उपलब्ध हैं जो आपको लिनक्स में पर्यावरण चर को सूचीबद्ध करने और सेट करने की अनुमति देते हैं:

  • env - कमांड आपको वर्तमान परिवेश को संशोधित किए बिना कस्टम वातावरण में एक और कार्यक्रम चलाने की अनुमति देता है। जब एक तर्क के बिना उपयोग किया जाता है तो यह वर्तमान पर्यावरण चर की एक सूची मुद्रित करेगा। printenv - कमांड सभी या निर्दिष्ट पर्यावरण चर प्रिंट करता है। set - कमांड सेट या चर शेल सेट करता है। जब एक तर्क के बिना उपयोग किया जाता है तो यह पर्यावरण और शेल चर, और शेल फ़ंक्शन सहित सभी चर की एक सूची मुद्रित करेगा। unset - कमांड शेल और एनवायरनमेंट वैरिएबल्स को डिलीट करता है। export - कमांड पर्यावरण चर सेट करता है।

सूची पर्यावरण चर

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

उदाहरण के लिए, आपके द्वारा चलाए जाने वाले HOME परिवेश चर का मान प्रदर्शित करने के लिए:

printenv HOME

आउटपुट वर्तमान में लॉग इन उपयोगकर्ता का पथ प्रिंट करेगा:

/home/linuxize

आप printenv कमांड में एक से अधिक तर्क भी दे सकते हैं:

printenv LANG PWD

en_US /home/linuxize

printenv

आउटपुट कुछ इस तरह दिखाई देगा:

LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv

नीचे कुछ सबसे सामान्य पर्यावरण चर दिए गए हैं:

  • USER - वर्तमान उपयोगकर्ता में लॉग इन किया। HOME - वर्तमान उपयोगकर्ता की घर निर्देशिका। EDITOR - डिफ़ॉल्ट फ़ाइल संपादक का उपयोग किया जाना है। यह वह संपादक है जिसका उपयोग तब किया जाएगा जब आप अपने टर्मिनल में edit करेंगे। SHELL - वर्तमान उपयोगकर्ता के शेल का पथ, जैसे कि बैश या zsh। LOGNAME - वर्तमान उपयोगकर्ता का नाम। PATH - कमांड निष्पादित करते समय खोजी जाने वाली निर्देशिका की सूची। जब आप एक कमांड चलाते हैं तो सिस्टम इस क्रम में उन निर्देशिकाओं को खोजेगा और पहले पाए गए निष्पादन योग्य का उपयोग करेगा। LANG - वर्तमान स्थान सेटिंग। TERM - वर्तमान टर्मिनल अनुकरण। MAIL - वर्तमान उपयोगकर्ता के मेल को संग्रहीत करने का स्थान।

printenv और env कमांड केवल पर्यावरण चर को प्रिंट करते हैं। यदि आप पर्यावरण, शेल और चर सहित सभी चर की एक सूची प्राप्त करना चाहते हैं, और शेल फ़ंक्शन आप set कमांड का उपयोग कर सकते हैं:

set

BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()

कमांड सभी चर की एक बड़ी सूची प्रदर्शित करेगी ताकि आप आउटपुट को less कमांड पर पाइप करना चाहें।

set | less

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

echo $BASH_VERSION

4.4.19(1)-release

पर्यावरण चर सेट करना

शेल और पर्यावरण चर के बीच के अंतर को बेहतर ढंग से समझाने के लिए हम शेल वेरिएबल्स की स्थापना के साथ शुरुआत करेंगे और फिर पर्यावरण चर पर आगे बढ़ेंगे।

MY_VAR नाम के साथ एक नया शेल वैरिएबल बनाने के लिए और बस टाइप करें Linuxize करें:

MY_VAR='Linuxize'

आप यह सत्यापित कर सकते हैं कि चर सेट के आउटपुट को फ़िल्टर करने के लिए या तो echo $MY_VAR का उपयोग करके चर सेट किया गया है। set | grep MY_VAR :

echo $MY_VAR

Linuxize

यह चर पर्यावरण संस्करण है या नहीं, यह जांचने के लिए printenv कमांड का उपयोग करें:

printenv MY_VAR

आउटपुट खाली होगा जो हमें बताता है कि चर पर्यावरण चर नहीं है।

आप चर को उप-शेल में प्रिंट करने का भी प्रयास कर सकते हैं और आपको एक खाली आउटपुट मिलेगा।

bash -c 'echo $MY_VAR'

export कमांड का उपयोग पर्यावरण चर को सेट करने के लिए किया जाता है।

एक पर्यावरण चर बनाने के लिए बस शेल चर को पर्यावरण चर के रूप में निर्यात करें:

export MY_VAR

आप इसे चलाकर देख सकते हैं:

printenv MY_VAR

Linuxize

bash -c 'echo $MY_VAR'

Linuxize

आप एकल चर में पर्यावरण चर भी सेट कर सकते हैं:

export MY_NEW_VAR="My New Var"

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

लगातार पर्यावरण चर

पर्यावरण चर बनाने के लिए आपको उन विन्यास चर फाइलों में परिभाषित करने की आवश्यकता है। अधिकांश लिनक्स वितरणों में जब आप एक नया सत्र शुरू करते हैं, तो पर्यावरण चर निम्नलिखित फाइलों से पढ़े जाते हैं:

  • /etc/environment - सिस्टम-वाइड वातावरण चर सेट करने के लिए इस फ़ाइल का उपयोग करें। इस फ़ाइल में चर निम्नलिखित प्रारूप में सेट किए गए हैं:

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - इस फ़ाइल में सेट चर जब भी एक bash लॉगिन शेल दर्ज किया जाता है लोड किया जाता है। इस फ़ाइल में पर्यावरण चर घोषित करते समय आपको export कमांड का उपयोग करने की आवश्यकता होती है:

    export JAVA_HOME="/path/to/java/home" export PATH=$PATH:$JAVA_HOME/bin

    प्रति-उपयोगकर्ता शेल विशिष्ट कॉन्फ़िगरेशन फ़ाइलें। उदाहरण के लिए, यदि आप बैश का उपयोग कर रहे हैं, तो आप चर को ~/.bashrc में घोषित कर सकते हैं:

    export PATH="$HOME/bin:$PATH"

वर्तमान शेल सत्र में नए पर्यावरण चर को लोड करने के लिए source कमांड का उपयोग करें:

source ~/.bashrc

निष्कर्ष

इस गाइड में, हमने आपको दिखाया है कि पर्यावरण और शेल चर कैसे सेट और सूचीबद्ध करें।

यदि आपके कोई प्रश्न हैं, तो टिप्पणी छोड़ने के लिए स्वतंत्र महसूस करें।

टर्मिनल