08 ၏ 01
Bash ရန် Beginners လမ်းညွှန် - အရာနှိုငျးယှဉျ
အဆိုပါကား Bash သင်ခန်းစာ၏ယခင်စိတျအပိုငျးမှာတော့ကျနော်တို့ကြည့်ရှု ခြွင်းချက်ထုတ်ပြန်ချက်များ ။
အဲဒီလမ်းညွှန်အလွန်ရှည်လျားခဲ့တာပေမယ့်တကယ်သာယုတ္တိဗေဒ၏စီးဆင်းမှုကိုထိန်းချုပ်ဖို့ဘယ်လိုပြသခဲ့သည်။ ဒီလမ်းညွှန်ကိုသင် variable တွေကိုနှိုင်းယှဉ်နိုင်သည့်အတွက်ကွဲပြားခြားနားတဲ့နည်းလမ်းတွေပြသထားတယ်။
အထက်ပါ image ကိုယခုအပတ်ရဲ့လမ်းညွှန်ချက်ထဲမှာပထမဦးဆုံးဥပမာကိုပြသထားတယ်:
#! / bin / ကား Bash
NAME1 = "Gary"
NAME2 = "Bob"[ "$ NAME1" = "$ NAME2"] လျှင်
ထိုအခါ
"အမည်များပွဲ" ပဲ့တင်သံ
အခြားသူ
"အမည်များမကိုက်ညီပါဘူး" ပဲ့တင်သံ
fi
အထက်ပါဇာတ်ညွှန်း၌ငါ NAME1 နှင့် NAME2 တို့ကိုခေါ်နှစ်ခု variable တွေကိုသတ်မှတ်ထားတဲ့သူတို့ကိုတန်ဖိုးများ "Gary" နှင့် "Bob" တာဝန်ပေးအပ်ပါပြီ။ အဆိုပါ variable တွေကိုကိုးကားအမှတ်အသားများအကြားပါရှိသောကြောင့်သူတို့ကသင်ခန်းစာအပေါ်သွားသည်အဖြစ်ပိုပြီးသက်ဆိုင်ရာဖြစ်လာရသော string ကို variable တွေကိုဟုခေါ်ကြသည်။
လူအားလုံးတို့သည်ဇာတ်ညွှန်းမ $ NAME1 နှင့် $ NAME2 ၏တန်ဖိုးကိုနှိုင်းယှဉ်ခြင်းနှင့်သူတို့ string ကို "အမည်များပွဲ" output ကိုကိုက်ညီမယ်ဆိုရင်သူတို့ output ကို "အမည်များမကိုက်ညီပါဘူး" ဟုအဆိုပါ string ကိုမကျင့်လျှင်ဖြစ်ပါတယ်။
သူတို့ထဲကဖြစ်စေ၏တန်ဖိုးဇာတ်ညွှန်းနေဆဲအလုပ်လုပ်ပါလိမ့်မယ်ပြီးရင် set ရသေးလျှင်ဘာဖြစ်လို့လဲဆိုတော့ variable တွေကိုအရေးကြီးသောဖြစ်ကြ၏ $ NAME1 နှင့် $ NAME2 ပတ်လည် quotation သင်္ကေတ။
ဥပမာအားဖြင့်ဆိုပါက $ NAME1 သင် Bob "" အတူ "" နှိုင်းယှဉ်မည်ဖြစ်ကြောင်းပြီးတော့သတ်မှတ်ထားဘယ်တော့မှခဲ့သည်။ အဆိုပါ quotation အမပါဘဲသင်ရှင်းရှင်းလင်းလင်းပျက်ကွက်သည့် = "Bob" နဲ့ထွက်ခွာမည်ဖြစ်ကြောင်းခြေတစ်လှမ်းရခဲ့သည်။
! သင်တို့သည်လည်းအောက်ပါအတိုင်းညီမျှမပေးသတ်မှတ်ပေးဖို့ = သင်္ကေတကိုသုံးနိုင်သည်:
[ "$ NAME1"! = "$ NAME2"] လျှင်
08 ၏ 02
Bash ရန် Beginners လမ်းညွှန် - Strings Comparing
အထက်ပါဥပမာမှာစမ်းသပ်အတူတူနှစ်ခုညှို့နှိုင်းယှဉ်ခြင်းနှင့်မေးခွန်း Gary အက္ခရာစဉ်ထဲမှာ Bob ရှေ့တော်သို့ဝင်ဘူးတောင်း?
ရှင်းနေသည်မှာအဖြေကိုအဘယ်သူမျှမပါပဲ။
အဆိုပါ script ကိုအော်ပရေတာ (<) ထက်လျော့နည်းမိတ်ဆက်။ အော်ပရေတာထက်လျော့နည်း redirection အတွက်လည်းအသုံးပြုပါသည်အဖြစ်သင်ကအဘယ်ကြောင့် script ထဲမှာငါမူကားအထက်အရာထက် သာ. ငယ်ဆိုလိုဖို့အတှကျမျဉ်းစောင်း (\) နှင့်အတူကလွတ်မြောက်ရန်ရန်ရှိသည် "$ NAME1" \ < "$ NAME2" နှိုင်းယှဉ်။
ထက်နည်း၏ဆန့်ကျင်ဘက်သိသာထက် သာ. ကြီးမြတ်သည်။ အဲဒီအစား \ <\ ကိုသုံးပါ> အသုံးပြုခြင်း၏။
ဥပမာ
[ "$ NAME1" \> "$ NAME2"] လျှင်
08 ၏ 03
Bash ရန် Beginners လမ်းညွှန် - Strings Comparing
: သင်တစ်ဦး variable ကိုသငျသညျအောကျပါအစမ်းသပ်ကိုသုံးနိုင်သည်တန်ဖိုးရှိပါတယ်ရှိမရှိစမ်းသပ်ချင်တယ်ဆိုရင်
[-n $ NAME2] လျှင်
ငါ $ NAME2 တန်ဖိုးပေးထားသောကြောင့်မပါလျှင်မက်ဆေ့ခ်ျကို "မ Bob ရှိပါတယ်, တစ်ဦး Bob ပေါ်လာသောအဲဒီမှာဘယ်တော့မှခဲ့သည်" ။ ထားပြီးရှိမရှိစုံစမ်းပြီအထက်တွင် script ထဲမှာ
08 ၏ 04
Bash ရန် Beginners လမ်းညွှန် - Strings Comparing
လွန်ခဲ့သောဆလိုက်တွင်ကျွန်တော်တစ်ဦး variable ကိုသတ်မှတ်ထားသို့မဟုတ်မလျက်ရှိသည်ရှိမရှိဖုံးလွှမ်းကြ၏။ တခါတရံမှာသော်လည်းတစ်ဦး variable ကိုသတ်မှတ်ထားခဲ့ကြပေမဲ့သူကတကယ်တန်ဖိုးရှိသည်မဟုတ်ပေလိမ့်မည်။
ဥပမာအားဖြင့်:
NAME1 = ""
: တစ် variable ကိုတန်ဖိုးသို့မဟုတ်မ (ဆိုလိုသည်မှာသုညတစ်အရှည်ရှိပါတယ်) အောက်မှာဖေါ်ပြတဲ့အတိုင်း -z ကိုအသုံးပြုဖို့ရှိပါတယ်ရှိမရှိစမ်းသပ်ဖို့
[-z $ NAME1] လျှင်
အထက်ပါဇာတ်ညွှန်း၌ငါသုညအရှည် string ကိုမှ $ NAME1 သတ်မှတ်ထားပြီးတော့ -z အသုံးပြုပြီးနှိုင်းယှဉ်ပါပွီ။ အကယ်. $ NAME1 အရှည်မှာပြပါလိမ့်မည် "Gary ညနေပိုင်းတွင်ထွက်သွားပြီ" ဟုအဆိုပါသတင်းစကားကိုသုညဖြစ်ပါတယ်။
08 ၏ 05
Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ
ဤရွေ့ကား, အပေါငျးတို့သနှိုင်းယှဉ်ညှို့များအတွက်ခဲ့ကြပြီ။ အဘယ်အရာကိုနံပါတ်များကိုနှိုင်းယှဉ်ကော?
အထက်ပါဇာတ်ညွှန်းနှစ်ခုကိုနံပါတ်များကိုနှိုင်းယှဉ်ခြင်း၏ဥပမာတစ်ခုပြသထားတယ်:
#! / bin / ကား Bash
တစ်ဦး = 4
ခ = 5[$ တစ်ဦး = $ ခ] လျှင်
ထိုအခါ
"= 5 4" ပဲ့တင်သံ
အခြားသူ
"4 ပေမဟုတ်တန်းတူ 5" ပဲ့တင်သံ
fi
နံပါတ်ဖြစ်မယ့် variable ကိုတင်ထားရန်ရိုးရှင်းစွာ quotation အအမှတ်အသားများမပါဘဲထားကြ၏။ သို့ဖြစ်လျှင်သင်သည်လက်မှတ်ထိုးထားတဲ့တန်းတူအတူနံပါတ်များကိုနှိုငျးယှဉျနိုငျသညျ။
ငါနှစ်ခုနံပါတ်များကိုနှိုင်းယှဉ်ဖို့အောက်ပါ operator ကိုသုံးစွဲဖို့သို့သော်ကြိုက်တတ်တဲ့:
အကယ်. [$ တစ် -eq $ ခ]
08 ၏ 06
Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ
သင်တစ်ဦးအရေအတွက်ကိုသင်သည်အော်ပရေတာ (<) ထက်လျော့နည်းအသုံးပွုနိုငျအခြားနံပါတ်တစ်ခုထက်လျော့နည်းရှိမရှိနှိုင်းယှဉ်ချင်တယ်ဆိုရင်။ ညှို့နှင့်ဝသကဲ့သို့သင်တစ်ဦးမျဉ်းစောင်းနှင့်အတူအော်ပရေတာထက်လျော့နည်းမှလွတ်မြောက်ရန်ရှိသည်။ (\ <) ။
နံပါတ်များကိုနှိုင်းယှဉ်ခြင်း၏တစ်ဦးကပိုကောင်းတဲ့လမ်းအစားအောက်ပါသင်္ကေတကိုအသုံးပြုရန်ဖြစ်ပါသည်:
- -lt ထက်လျော့နည်း
- ထက်လျော့နည်းသို့မဟုတ် -le ညီမျှ
- -gt ထက် သာ. ကြီးမြတ်
- ထက် သာ. ကြီးမြတ်သို့မဟုတ် -ge ညီမျှ
ဥပမာ:
လျှင် [$ တစ် -lt $ ခ]
[$ တစ် -le $ ခ] လျှင်
လျှင် [$ တစ် -ge $ ခ]
လျှင် [$ တစ် -gt $ ခ]
08 ၏ 07
Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ
နောက်ဆုံးအနေနဲ့ဒီလမ်းညွှန်အဘို့, သငျသညျနှစျခုနံပါတ်များကိုသငျသညျအတူတူအော်ပရေတာထက်ထက်လျော့နည်းနှင့်ပိုမိုဖြစ်စေအသုံးပြုနိုင်သည် (<>) သို့မဟုတ်အောက်ပါအတိုင်း -ne နိုင်ပါတယ်ကွဲပြားခြားနားသောရှိမရှိစမ်းသပ်ချင်တယ်ဆိုရင်:
လျှင် [$ တစ် <> $ ခ]
လျှင် [$ တစ် -ne $ ခ]
08 ၏ 08
Bash ရန် Beginners လမ်းညွှန် - နှိုင်းယှဉ်လုပ်ငန်းရှင်များ - အကျဉ်းချုပ်
သင်ဤလမ်းညွှန်၏ပထမသုံးပိုင်းလွဲချော်ခဲ့ကြပါလျှင်အောက်ပါလင့်ခ်ကိုနှိပ်ခြင်းအားဖြင့်သူတို့ကိုရှာတှေ့နိုငျ:
အဆိုပါလမ်းညွှန်၏နောကျစိတျအပိုငျးတှငျငါဂဏန်းသင်္ချာကိုဖုံးအုပ်ထားလိမ့်မည်။