میک پر ماحولیات کے متغیرات کو کہاں سیٹ کرنا ہے۔
کمانڈ لائن پر، ماحولیاتی متغیرات موجودہ شیل کے لیے بیان کیے جاتے ہیں اور کسی بھی چلنے والی کمانڈ یا عمل سے وراثت میں مل جاتے ہیں۔ وہ ڈیفالٹ شیل، پی اے ٹی ایچ، یوزرز ہوم ڈائرکٹری سے لے کر ٹرمینل ایمولیشن کی قسم، موجودہ ورکنگ ڈائرکٹری، جہاں ہسٹری فائل واقع ہے، زبان اور لوکلائزیشن سیٹنگز، اور شیل متغیرات کو شامل کرنے کے لیے مزید کچھ بھی طے کر سکتے ہیں، جس میں ہر چیز شامل ہے۔ حسب ضرورت سے لے کر bash پرامپٹ تک، رنگین ls آؤٹ پٹ، اور ٹرمینل کی ظاہری شکل میں تبدیلی، عرفی نام، اور بہت کچھ۔
آئیے دیکھتے ہیں کہ ماحول اور شیل متغیرات کی فہرست کیسے بنائی جائے، اور پھر میک OS X کی کمانڈ لائن پر نئے ماحول کے متغیرات کو سیٹ اور شامل کرنے کا طریقہ۔ ہم اسے bash اور zsh دونوں شیلوں کے لیے احاطہ کریں گے۔
Mac OS X پر bash میں موجودہ ماحول اور شیل متغیرات کو ڈسپلے کرنا
جلد ماحولیاتی متغیرات کی فہرست حاصل کرنے کے لیے، آپ bash کے ساتھ درج ذیل کمانڈ استعمال کر سکتے ہیں:
printenv
Zsh میں ماحولیاتی متغیرات کی فہرست بنانے کے لیے درج ذیل کمانڈ استعمال کریں: env
یا اختیاری طور پر:
echo $ENV_VAR
اگر آپ شیل متغیرات کی مکمل فہرست دیکھنا چاہتے ہیں تو 'سیٹ' کمانڈ بھی جاری کیا جا سکتا ہے:
سیٹ
ان کمانڈز کا آؤٹ پٹ لمبا ہو سکتا ہے اس لیے آپ کم یا زیادہ کمانڈز کے ذریعے آؤٹ پٹ کو پائپ کرنا چاہیں گے۔
Zsh کے ساتھ macOS کمانڈ لائن میں ماحولیاتی متغیرات کو ترتیب دینا
Zsh شیل zshenv فائل کے ذریعے ماحولیاتی متغیرات کو سیٹ کرتا ہے، جو صارفین کی ہوم ڈائرکٹری میں موجود ہے:
~/.zshenv
اس طرح آپ اس فائل میں نینو، ویم وغیرہ کے ساتھ ترمیم کرکے یا اس طرح ایکو استعمال کرکے zsh ماحولیاتی متغیرات شامل کرسکتے ہیں:
echo 'export ENV_VAR=example' >> ~/.zshenv
مثال کے طور پر:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
بش کے ساتھ میک OS X کمانڈ لائن میں ماحولیاتی متغیرات کو ترتیب دینا
چونکہ میک bash شیل استعمال کرنے کے لیے پہلے سے طے شدہ ہے، آپ صارف کی ڈائریکٹریز .bash_profile میں ماحولیاتی متغیرات سیٹ کر سکتے ہیں، ایک فعال صارف اکاؤنٹ کے لیے اس فائل کا راستہ اس پر موجود ہے:
~/.bash_profile
اگر آپ نے اپنا شیل تبدیل کیا ہے یا آپ کو یقین نہیں ہے کہ آپ کون سا شیل استعمال کر رہے ہیں، تو آپ ہمیشہ echo $SHELL کمانڈ جاری کر کے چیک کر سکتے ہیں، جو ظاہر کرے گا کہ کون سا شیل استعمال میں ہے۔ ہم یہ فرض کرنے جا رہے ہیں کہ آپ اب بھی OS X ڈیفالٹ bash شیل استعمال کر رہے ہیں، اس طرح ہم .bash_profile کو نانو کے ساتھ تبدیل کر کے نئے ماحولیاتی متغیرات شامل کریں گے - اگر آپ چاہیں تو آپ vi، emacs، یا کوئی اور ٹیکسٹ ایڈیٹر استعمال کر سکتے ہیں، لیکن ہم اس کی سادگی کے لیے نینو کا احاطہ کریں گے۔
نینو ٹیکسٹ ایڈیٹر میں .bash_profile کھول کر شروع کریں:
نانو .bash_profile
آپ ماحولیاتی متغیرات اور شیل متغیرات کو نئی لائنوں میں شامل کر سکتے ہیں، اگر .bash_profile فائل میں پہلے سے ہی ڈیٹا موجود ہے، تو صرف تیر والے بٹنوں اور ضرورت کے مطابق کلید واپس کریں۔
آئیے ایک مثال لیتے ہیں اور کہتے ہیں کہ ہم فائل کی نئی لائنوں میں درج ذیل کو شامل کرکے JAVA_HOME اور JRE_HOME ماحولیاتی متغیرات کو .bash_profile کے اندر سیٹ کرنے جا رہے ہیں:
export JAVA_HOME=$(/usr/libexec/java_home) JRE_HOME=$(/usr/libexec/java_home)
فرض کریں کہ ہم اب ختم ہو چکے ہیں، کنٹرول+o کو دبا کر .bash_profile میں کی گئی تبدیلیوں کو محفوظ کریں (جو کہ اوٹر میں ایک o ہے)، پھر Control+X کو دبا کر نینو سے باہر نکلیں۔
ماحولیاتی متغیرات میں کی جانے والی تبدیلیوں اور اضافے کے لیے شیل کو دوبارہ شروع کرنے یا ایک نیا شیل پیدا کرنے کی ضرورت ہوگی۔
OS X میں عارضی ماحولیاتی متغیرات کو ترتیب دینا
یہ بات قابل ذکر ہے کہ آپ بذات خود 'ایکسپورٹ' کمانڈ کا استعمال کرکے bash میں عارضی ماحولیاتی متغیرات بھی سیٹ کرسکتے ہیں، حالانکہ یہ صرف اس وقت تک برقرار رہیں گے جب تک موجودہ bash شیل فعال رہے گا۔ مثال کے طور پر، اگر آپ ~/bin/ میں کوئی عارضی راستہ شامل کرنا چاہتے ہیں تو آپ درج ذیل کمانڈ استعمال کر سکتے ہیں:
export PATH=$PATH:~/bin
دوبارہ، 'ایکسپورٹ' کمانڈ بذات خود چلتی ہے اور .bash_profile کے اندر موجود نہیں ہے صرف ایک عارضی ترتیب ہوگی اور ماحولیاتی متغیر برقرار نہیں رہے گا جب تک کہ آپ اسے .bash_profile میں شامل نہیں کرتے ہیں۔
اگر آپ حقیقت میں استعمال کے لیے ایک نیا PATH شامل کرنے کی کوشش کر رہے ہیں، تو آپ کو تقریباً یقینی طور پر اسے فائل میں مناسب ایکسپورٹ کمانڈ لگا کر .bash_profile میں شامل کرنا چاہیے۔
باش شیل سے آگے بڑھتے ہوئے، اگر آپ نے اپنے ٹرمینل ایپ کے ڈیفالٹ شیل کو bash سے tcsh، zsh، sh، ksh، fish، یا وہاں موجود کسی دوسرے متبادل شیل میں تبدیل کیا ہے، تو آپ کو بس ضرورت ہوگی۔ اس مخصوص شیل (.tschrc، .cshrc، .profile، وغیرہ) کے لیے مناسب پروفائل یا rc فائل میں ترمیم کرنے کے لیے۔