2.1 Command Line Basics: Variables (1)

Share this article to...

Introduction

            Shells တွေအားလုံးဟာ အသုံးပြုသူ User တစ်ယောက်စီရဲ့ Shell Sessions တွေမှာ Status Information တွေကို Manage လုပ်ပါတယ်။ အဲ့ဒီလို အမှန်တကယ်အသုံးပြုနေတဲ့အချိန် ရှိနေမယ့် Runtime Information တွေဟာ Session တွေအတွင်းမှာပဲ ပြောင်းလဲနိုင်ပြီး Shell ရဲ့ တုန့်ပြန်မှုတွေကိုလည်း သက်ရောက်မှုရှိမှာပါ။ အဲ့ဒီလို ပြောင်းလဲသွားတဲ့ အချက်အလက် Data တွေကို System Configuration တွေအတွက် အသုံးပြုတာလည်းရှိမှာပါ။ အဲ့ဒီ Data တွေဟာ ဒီသင်ခန်းစာမှာဖော်ပြသွားမယ့် Variables တွေထဲမှာ သိမ်းထားတာပါ။

Variables

            Variables တွေဆိုတာ စာသား Text တွေ (သို့) ကိန်းဂဏန်း Numbers တွေလို အချက်အလက်တွေ သိမ်းဆည်းဖို့ရာ နေရာလေးတွေပါ။ သိမ်းပြီးတဲ့အခါ အဲ့ဒီသိမ်းလိုက်တဲ့တန်ဖိုးကို နောက်ပိုင်းမှာ ပြန်အသုံးပြု Access လုပ်နိုင်မှာပါ။ Variables တွေထဲက တန်ဖိုး Content တွေ ပြောင်းလဲသွားရင်တောင်မှ အဲ့ဒီ့ Variable ကို ညွှန်းဆိုအသုံးပြု Access လုပ်နိုင်မယ့် နာမည် Variable Name ရှိပါတယ်။ Variable တွေဟာ Programming Languages တော်တော်များများမှာ အသုံးများတဲ့ Tool တစ်ခုပါပဲ။

            Linux Shells အများစုမှာ Variables Types ( ၂ ) မျိုးရှိပါတယ်။

Local Variables

         Local Variables တွေကို လက်ရှိအသုံးပြုနေတဲ့ Shell Process အတွင်းမှာပဲ အသုံးပြုလို့ရနိုင်ပါတယ်။ တကယ်လို့ Local Variable တစ်ခုဖန်တီးပြီးနောက်မှာ အဲ့ဒီ Shell မှ အခြား Program တစ်ခုထပ်ခေါ်လိုက်တယ်ဆိုပါက Program ဟာ ခုနဖန်တီးခဲ့တဲ့ Variable ကို အသုံးပြုလို့ရမှာ မဟုတ်တော့ပါဘူး။ ထပ်ခေါ်မယ့် Sub Processes တွေမှ လက်ဆင့်ကမ်းအသုံးမပြုနိုင်တာကြောင့် အဲ့ဒီလို Variables တွေကို Local Variables တွေလို့ ခေါ်တာပါ။

Environment Variables

          ဒီ Variable Type ကတော့ သက်ဆိုင်ရာ အသုံးပြုနေတဲ့ Shell Session တခုအတွင်းမှာရော အဲ့ဒီကနေ ထပ်ခေါ်လိုက်တဲ့ Processes တွေထဲမှာရော အသုံးပြုနိုင်တာပါ။ အဲ့ဒီလို Variables တွေကို Run နေတဲ့ Command တွေဆီကို Configuration Data တွေ ပေးပို့ဖို့အတွက် အသုံးပြုနိုင်ပါတယ်။အခုလို အခြား Programs တွေကပါ ခေါ်ယူအသုံးပြု Access လုပ်နိုင်တာကြောင့်ပဲ Environment Variables တွေလို့ ခေါ်တာပါ။ Environment Variables အများစုကို အကြီးစာလုံးပုံစံတွေနှင့် တွေ့နိုင်ပါတယ်။ (ဥပမာ – PATH, DATE, USER) Default Environment Variables တွေမှာ အသုံးပြုသူ User ရဲ့ Home Directory (or) Terminal Type ဆိုင်ရာ Information တွေ သိမ်းထားပါတယ်။ Environment Variables တွေ အားလုံးရဲ့ Complete Set ကို Environment လို့ ပြောပါတယ်။

            Variables Types တွေကို Variable Scope လို့လည်း ခေါ်ပါတယ်။

Note: Variables တွေဆိုတာ အမြဲတည်ရှိနေကြတာ မဟုတ်ပါဘူး။ သူတို့ကို စတင်ဖန်တီး Set လုပ်လိုက်တဲ့ Shell ကို ပိတ်လိုက်တဲ့အခါ Variables တွေရော သိမ်းထားတဲ့ Contents တွေရော အားလုံးပျောက်သွားမှာပါ။ Shells အများစုမှာ Shell အသစ်တစ်ခု စဖွင့်လိုက်တိုင်း ကြိုတင်သတ်မှတ်ထားပြီးတဲ့ Variables တွေပါဝင်တဲ့ Configuration Files တွေ ပေးပါတယ်။ မပျောက်ပျက်ဘဲ အမြဲကျန်နေရမယ့် Variables တွေကို အဲ့ဒီလို Configuration Files တွေမှာ ထည့်ထားရပါမယ်။

Manipulating Variables

            System Administrator တစ်ယောက်အတွက်တော့ Local နှင့် Environment Variables တွေကို ဖန်တီးရတာ၊ ပြုပြင်ရတာ၊ ဖယ်ရှားရတာတွေ ပြုလုပ်ဖို့ လိုမှာပါ။

Working with Local Variables

            = (Equal) Operator သုံးပြီး Local Variable ကို ဖန်တီးနိုင်ပါတယ်။ Simple Assignment လေးပြုလုပ်ပြီး အခုလို တည်ဆောက်နိုင်ပါတယ်။

Note: = Operator လေးနှင့် ကပ်လျက် အရှေ့ အနောက်တွေမှာ ‘ ’ Space Character မထည့်ရပါဘူး။

            “echo” Command အသုံးပြုပြီး မည်သည့် Variable ကိုမဆို Output ထုတ်ပြနိုင်ပါတယ်။ Argument မှာ ထည့်ပေးလိုက်တဲ့စာသားကို ပြန်ပြပေးမှာပါ။

            Variable ရဲ့ တန်ဖိုး Value ကို ရယူ Access လုပ်ဖို့ရာ $ (Dollar Sign) ကို Variable Name ရှေ့မှာ အသုံးပြုဖို့လိုပါမယ်။

            Shell တစ်ခုမှာ ဖန်တီးခဲ့တဲ့ Variable ကို အသစ်ထပ်ဖွင့်လိုက်တဲ့ အခြား Shell Window တစ်ခုမှာ ပြန်ခေါ်ကြည့်တဲ့အခါ မသိတော့တာမို့ ဘာမှမပြပေးတော့တာကို အခုလိုတွေ့ရမှာပါ။ ဆိုလိုတာက Variables တွေဟာ သက်ဆိုင်ရာ Shell တစ်ခုအတွင်းမှာပဲ အမြဲအလုပ်လုပ်တာမို့ပါ။  

           Variable တစ်ခုဟာ Local Variable ဟုတ်မဟုတ် စစ်ကြည့်ဖို့ရာ Process အသစ်တစ်ခုထပ်ခေါ်ကြည့်ပြီး အဲ့ဒီ Variable ကို အသုံးပြုနိုင်မှု ရှိမရှိ စစ်ကြည့်ရမှာပါ။ အဲ့ဒီအတွက် Shell အသစ်တစ်ခုခေါ်ကြည့်ပြီး echo Command ကို ပြန် Run ကြည့်နိုင်ပါတယ်။ Shell အသစ်ဟာ Process အသစ်တစ်ခုအဖြစ် Run တာမို့ သူ့ကို စတင်ခေါ်ခဲ့တဲ့ Parent Process မှ Local Variables တွေကို ဆက်ယူမှာ Inherit လုပ်နိုင်မှာ မဟုတ်တာကို အခုလို တွေ့နိုင်ပါတယ်။

Note: အခု ဥပမာမှာ ‘ ’ Single Quotes အသုံးပြုရပါမယ်။

            Variable ကို ပြန်လည်ဖယ်ရှားဖို့တော့ unset Command အသုံးပြုနိုင်ပါတယ်။

Note: unset Command အသုံးပြုဖို့ဆို Variable Name ကို Argument အဖြစ်ပေးဖို့ လိုပါတယ်။ $ Sign ဟာ Variable ရဲ့ Value ကို ရည်ညွှန်းတာမို့ Variable Name ရဲ့ ရှေ့မှာ $ Sign မထည့်ရပါဘူး။