Thuta Learning
ရှာဖွေရန်
IntermediateDevOps & Toolsbeginner

Environment Variables & PATH

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Environment Variables & PATH ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • Terminal ထဲမှာ ကိုယ်တိုင် command ကို စမ်းသုံးတတ်အောင် လုပ်မယ်
  • Real server/project မှာ ဒီ command ဘယ်လို အသုံးဝင်သလဲ ချိတ်မြင်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

Environment variable ဆိုတာ shell က မှတ်ထားတဲ့ key-value data ပါ — $HOME (home folder path), $USER (username), $PATH (program ရှာရမယ့် folder list) စသည်ဖြင့် system-wide setting တွေကို သိမ်းထားပါတယ်။ python3 လို command ရိုက်လိုက်တာနဲ့ shell က $PATH ထဲ ဖော်ပြထားတဲ့ folder တွေကို အစဉ်လိုက် ရှာပြီး python3 executable ကို ရှာတွေ့တာနဲ့ run ပေးပါတယ် — PATH ထဲမပါတဲ့ folder ထဲက program ကို command name ချည်းနဲ့ run လို့ မရပါဘူး (full path ရေးရမယ် ဒါမှမဟုတ် ./ ကြိုတပ်ရမယ်)။ export VAR=value က variable အသစ်ဖန်တီးပြီး terminal session အဲဒီတစ်ခုအတွက် သိမ်းထားပေးပါတယ်, terminal ပိတ်လိုက်ရင် ပျောက်ပါတယ်။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

echo $HOME, echo $PATH ကို run ကြည့်ရင် ကိုယ့် system ရဲ့ setting ကို တိုက်ရိုက် မြင်ရပါတယ်။ Terminal ပိတ်လိုက်တိုင်း environment variable ပျောက်စေမလိုချင်ရင် ~/.bashrc ဖိုင်ထဲမှာ export line ထည့်ထားရပါတယ် — terminal အသစ် ဖွင့်တိုင်း .bashrc ကို ပထမဆုံး load လုပ်တာမို့ permanent setting လို့ ခံစားရပါလိမ့်မယ် (နောက်ခန်းများမှာ .bashrc ကို ထပ်တွေ့ပါဦးမယ်)။ API key, database password လိုမျိုး sensitive data တွေကို code ထဲ hardcode မလုပ်ဘဲ environment variable အနေနဲ့ ခွဲထားတာက security practice တစ်ခုပါ။

အတူတူ terminal ထဲ စမ်းမယ်

bash
echo $HOME
echo $PATH
export MY_NAME="Alice"
echo $MY_NAME
export PATH=$PATH:$HOME/scripts   # folder အသစ်ကို PATH ထဲ ထပ်ထည့်
You should see
echo $PATH ကို run ရင် folder path များ colon (:) ဖြင့်ခြားထားပြီး list တစ်ခုအနေနဲ့ ပေါ်လာမည်။

၅ မိနစ် စမ်းကြည့်

export MY_NAME="ကိုယ့်နာမည်" ကို run ပြီး echo $MY_NAME နဲ့ ပြန်စစ်ပါ။ Terminal ပိတ်ပြီး ပြန်ဖွင့်ကြည့်ပြီး variable ဆက်ရှိလား စစ်ပါ။

သတိလေးတစ်ချက်

PATH variable ကို export PATH=/only/one/folder လို overwrite လုပ်လိုက်ရင် ls, cd စတာတောင် run မရတော့နိုင်ပါတယ် — ရှိပြီးသား $PATH ကို အမြဲ ထည့်ထားပါ ($PATH:...)။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • export ကို run ပြီးရင် permanent setting ဖြစ်သွားပြီလို့ ထင်ခြင်း — terminal ပိတ်ရင် ပျောက်, .bashrc ထဲထည့်မှ permanent
  • $PATH ထဲ folder ထပ်ထည့်တဲ့အခါ $PATH:$HOME/scripts အစား $HOME/scripts ချည်းရေးလိုက်ပြီး folder အဟောင်းများ အားလုံး ပျောက်ခြင်း (command အားလုံး run မရတော့)

အခု ကိုယ်တိုင် စမ်းကြည့်

export MY_NAME="ကိုယ့်နာမည်" ကို run ပြီး echo $MY_NAME နဲ့ ပြန်စစ်ပါ။ Terminal ပိတ်ပြီး ပြန်ဖွင့်ကြည့်ပြီး variable ဆက်ရှိလား စစ်ပါ။

You'll know it worked when: echo $PATH ကို run ရင် folder path များ colon (:) ဖြင့်ခြားထားပြီး list တစ်ခုအနေနဲ့ ပေါ်လာမည်။

Environment Variables & PATH | Thuta Learning