انڈروئد

لینکس میں ماحول کے متغیرات کو کیسے مرتب اور فہرست میں رکھا جائے

جو کہتا ہے مجھے ہنسی نہی آتی وہ ایک بار ضرور دیکھے۔1

جو کہتا ہے مجھے ہنسی نہی آتی وہ ایک بار ضرور دیکھے۔1

فہرست کا خانہ:

Anonim

لینکس اور یونکس پر مبنی نظام میں ماحولیاتی متغیر متحرک نامی اقدار کا ایک مجموعہ ہیں ، جو نظام کے اندر ذخیرہ کیے جاتے ہیں جو خولوں یا سبیلوں میں لانچ کردہ ایپلی کیشنز کے ذریعہ استعمال ہوتے ہیں۔ آسان الفاظ میں ، ایک ماحول کے متغیر ایک متغیر ہے جس میں نام اور اس سے وابستہ قدر ہوتی ہے۔

ماحولیاتی متغیرات آپ کو کس طرح اپنی مرضی کے مطابق کرنے کی اجازت دیتے ہیں کہ نظام کس طرح کام کرتا ہے اور سسٹم پر موجود ایپلی کیشنز کا سلوک۔ مثال کے طور پر ، ماحولیاتی متغیر ڈیفالٹ ٹیکسٹ ایڈیٹر یا براؤزر ، عملدرآمد فائلوں کا راستہ ، یا سسٹم لوکل اور کی بورڈ لے آؤٹ کی ترتیبات کے بارے میں معلومات کو محفوظ کرسکتا ہے۔

اس ہدایت نامہ میں ، ہم ماحولیات اور شیل متغیرات کو پڑھنے اور مرتب کرنے کی وضاحت کریں گے۔

ماحولیاتی متغیرات اور شیل متغیرات

متغیرات کی درج ذیل شکل ہے۔

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

  • متغیرات کے نام کیس حساس ہیں۔ کنونشن کے ذریعہ ، ماحولیاتی متغیروں میں UPPER CASE کے نام ہونے چاہئیں۔ جب متغیر کو متعدد اقدار تفویض کرتے ہیں تو وہ لازمی طور پر ان سے علیحدہ ہوجانا ضروری ہے۔

متغیرات کو دو اہم زمروں میں درجہ بندی کیا جاسکتا ہے ، ماحولیاتی متغیرات اور شیل متغیرات۔

ماحولیاتی متغیرات متغیرات ہیں جو سسٹم وسیع میں دستیاب ہیں اور بچوں کے تمام پروسیس اور گولوں سے وراثت میں پائے جاتے ہیں۔

شیل متغیر متغیرات ہیں جو صرف موجودہ شیل مثال کے طور پر لاگو ہوتے ہیں۔ ہر شیل جیسے 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 - موجودہ صارف کے خول کا راستہ ، جیسے باز یا زیش۔ LOGNAME - موجودہ صارف کا نام۔ PATH - ڈائریکٹریوں کی ایک فہرست جب کمانڈز پر عمل درآمد کرتے وقت تلاش کی جائے۔ جب آپ کمانڈ چلاتے ہیں تو سسٹم ان ڈائرکٹریوں کو اسی ترتیب میں تلاش کرے گا اور پہلے پائے جانے والے پھانسی کا استعمال کرے گا۔ LANG - موجودہ مقامات کی ترتیبات۔ TERM - موجودہ ٹرمینل نقلی MAIL - جہاں موجودہ صارف کا میل اسٹور کیا گیا ہے کی جگہ۔

printenv اور env کمانڈ صرف ماحولیاتی printenv پرنٹ کرتے ہیں۔ اگر آپ ماحول ، شیل اور متغیرات ، اور شیل افعال سمیت تمام متغیرات کی ایک فہرست حاصل کرنا چاہتے ہیں تو آپ 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 نام کے ساتھ ایک نیا شیل متغیر بنانے کے MY_VAR اور Linuxize کو آسانی سے ٹائپ کریں:

MY_VAR='Linuxize'

آپ تصدیق کرسکتے ہیں کہ grep set | grep MY_VAR ساتھ سیٹ کمانڈ کے آؤٹ پٹ کو فلٹر کرنے کے 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"

اس طرح سے تیار کردہ ماحولیاتی متغیرات صرف موجودہ سیشن میں دستیاب ہیں۔ اگر آپ نیا شیل کھولتے ہیں یا اگر آپ لاگ آؤٹ کرتے ہیں تو تمام متغیرات ختم ہوجائیں گے۔

مسلسل ماحولیاتی متغیرات

ماحولیاتی متغیرات کو مستقل بنانے کے ل you آپ کو ان متغیرات کو پارٹی ترتیب دینے والی فائلوں میں بیان کرنے کی ضرورت ہے۔ زیادہ تر لینکس کی تقسیم میں جب آپ نیا سیشن شروع کرتے ہیں تو ، ماحولیاتی متغیرات کو درج ذیل فائلوں سے پڑھا جاتا ہے:

  • /etc/environment - سسٹم میں ماحولیاتی متغیرات قائم کرنے کے لئے اس فائل کا استعمال کریں۔ اس فائل میں متغیرات کو درج ذیل شکل میں ترتیب دیا گیا ہے۔

    FOO=bar VAR_TEST="Test Var"

    /etc/profile - جب بھی کوئی لاگ ان شیل داخل ہوتا ہے تو اس فائل میں سیٹ متغیرات بھری جاتی ہیں۔ اس فائل میں ماحولیاتی متغیرات کا اعلان کرتے وقت آپ کو export کمانڈ استعمال کرنے کی ضرورت ہے۔

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

    فی صارف شیل کے لئے مخصوص ترتیب فائلیں۔ مثال کے طور پر ، اگر آپ بش استعمال کررہے ہیں تو ، آپ ~/.bashrc میں متغیرات کا اعلان کرسکتے ہیں:

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

موجودہ شیل سیشن میں ماحول کے نئے متغیرات کو لوڈ کرنے کے لئے source کمانڈ استعمال کریں:

source ~/.bashrc

نتیجہ اخذ کرنا

اس ہدایت نامہ میں ، ہم نے آپ کو ماحول اور شیل متغیرات کو ترتیب دینے اور ان کی فہرست بنانے کا طریقہ دکھایا ہے۔

اگر آپ کے ذہن میں کوئی سوال ہے تو بلا جھجھک۔

ٹرمینل