#!/bin/sh var="This is variable" echo $var
အထက်ပါအတိုင်း $var ဟု ရေးသားခြင်း အားဖြင့် ကိန်းရှင်များ၏ တန်ဖိုးများအား အသုံးပြုနိုင်ပါသည်။ ထို့ကြောင့် echo $var ကွန်မန်း၏ ရလဒ်သည် this is variable ဟု ကိန်းရှင်၏ တန်ဖိုးကို echo လုပ်ပေးနိုင်ခြင်း ဖြစ်ပါသည်။
တန်ဖိုးသတ်မှတ်မထားသေးသော ကိန်းရှင်များအား အသုံးပြုခြင်း
B Shell တွင် ကိန်းရှင်တစ်လုံး၏ တန်ဖိုးသည် ဗလာဖြစ်သည့်အခါတွင်၎င်း၊ သတ်မှတ်ထားခြင်း မရှိသည့်အခါမျိုး တွင်၎င်း အမျိုးမျိုးသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်စေနိုင်ပါသည်။
ရေးသားပုံ | တန်ဖိုးသတ်မှတ်ပြီးအခါ | တန်ဖိုးသတ်မှတ်ထားခြင်း မရှိသောအခါ |
---|---|---|
${ကိန်းရှင်:-word} | ကိန်းရှင်၏ တန်ဖိုးကို အသုံးပြုပါမည်။ | word ၏ တန်ဖိုးအား အသုံးပြုပါမည်။ |
${ကိန်းရှင်:=word} | ကိန်းရှင်၏ တန်ဖိုးကို အသုံးပြုပါမည်။ | word ၏ တန်ဖိုးအား ကိန်းရှင်တွင် အစားထိုး၍ အသုံးပြုပါမည်။ |
${ကိန်းရှင်:?word} | ကိန်းရှင်၏ တန်ဖိုးကို အသုံးပြုပါမည်။ | word အား Error Message အဖြစ် အသုံးပြု၍ စကရစ်အား ပြီးဆုံးစေပါမည်။ |
${ကိန်းရှင်:+word} | word ၏ တန်ဖိုးဖြင့် ကိန်းရှင်အား အစားထိုးပါမည်။ | ဘာမှမလုပ်ပါ |
${ကိန်းရှင်:-word}
#!/bin/sh echo What is your name? $name echo What is your name? ${name:-minlwin} echo $name name=kgkg echo What is your name? ${name:-minlwin}
စာကြောင်း ၄ကြောင်းမြောက်တွင် name သည် တန်ဖိုးသတ်မှတ်ထားခြင်း မရှိပါသဖြင့် minlwin အား အစားထိုး အသုံးပြုသွားသည်ကို တွေ့ရပါမည်။ သို့ရာတွင် name အား အစားထိုးခြင်း မရှိပါသဖြင့် စာကြောင်း နံပါတ် ၅ ၏ echo $name ရဲ့ ရလဒ်မှာ ဗလာ အတိုင်းဖြစ်ပါသည်။
တဖန် စာကြောင်း ၇ တွင် name အား kgkg ဖြင့် အစားထိုးပါသည်။ ထို့ကြောင့် စာကြောင်း ၈ တွင် ${name:-minlwin} ဟု ရေးသားထားပါသော်လည်း name မှာ ဗလာ မဟုတ်ပါသောကြောင့် name ၏ တန်ဖိုးဖြစ်သော kgkg ကို ဖော်ပြနိုင်ခြင်း ဖြစ်ပါသည်။
${ကိန်းရှင်:=word}
#!/bin/sh echo What is your name? $name echo What is your name? ${name:=minlwin} echo $name name=kgkg echo What is your name? ${name:=minlwin} echo $name
စာကြောင်း၄ တွင် name ၏ တန်ဖိုးသည် သတ်မှတ်ထားခြင်းမရှိပါသဖြင့်၊ ${name:=minlwin} ဟု ရေးသားထားသောကြောင့် echo ၏ ရလဒ်မှာ minlwin အား အစားထိုး၍ အသုံးပြုသွားပါသည်။ တဖန် စာကြောင်း ၅ ၏ ရလဒ်ကို ကြည့်ခြင်းအားဖြင့် name ၏ တန်ဖိုးအား minlwin ဖြင့် အစားထိုးသွားသည်ကို တွေ့မြင် နိုင်ပါသည်။
တဖန် စာကြောင်း ၇ တွင် name အား kgkg ဖြင့် အစားထိုးပါသဖြင့်၊ စာကြောင်း၉တွင် name အစား minlwin ဖြင့် ဖော်ပြခြင်းမရှိသလို၊ စာကြောင်း ၁၀ အားကြည့်ခြင်းအားဖြင့် name ၏ တန်ဖိုးအား minlwin ဖြင့် အစားမထိုးကြောင်း တွေ့မြင်နိုင်ပါသည်။
${ကိန်းရှင်:?word}
#!/bin/sh name=kgkg echo What is your name? ${name:?minlwin} name= echo What is your name? ${name:?minlwin}
စာကြောင်း ၄ ၏ ရလဒ်သည် name ၏ တန်ဖိုးသည် kgkg ဖြစ်ပါသဖြင့် kgkg ကို ဖော်ပြပေးပါသည်။ စာကြောင်း ၇ ၏ ရလဒ်သည် စာကြောင်း ၆ တွင် name အား ဗလာဖြင့် အစားထိုးထားပါသဖြင့် Error Message အဖြင့် minlwin ကို ဖော်ပြပြီး၊ Script အား အမှားအဖြစ် ပြီးဆုံးစေပါသည်။
${ကိန်းရှင်:+word}
#!/bin/sh name=kgkg echo What is your name? ${name:+minlwin} echo $name name= echo What is your name? ${name:+minlwin}
စာကြောင်း ၄၏ ရလဒ်သည် name တွင် kgkg ဟူသော တန်ဖိုးကို ပိုင်ဆိုင်သောကြောင့် minlwin ကို အစားထိုးဖော်ပြပါသည်။ သို့ရာတွင် စာကြောင်း ၇ ၌မှု name ၏ တန်ဖိုးမှာ ဗလာဖြစ်ပါသဖြင့် minlwin ဖြင့် အစားထိုးဖော်ပြခြင်း မရှိသည်ကို တွေ့ရပါမည်။
ဆက်လက် လေ့လာဖော်ပြသွားပါဦးမည်။
လေးစားစွာဖြင့်
မင်းလွင်
No comments:
Post a Comment