Bash ရန် Beginners လမ်းညွှန် - အရာနှိုငျးယှဉျ

08 ၏ 01

Bash ရန် Beginners လမ်းညွှန် - အရာနှိုငျးယှဉျ

Bash သင်ခန်းစာ - Strings နှိုငျးယှဉျ။

အဆိုပါကား 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

Bash သင်ခန်းစာ - Strings နှိုငျးယှဉျ။

အထက်ပါဥပမာမှာစမ်းသပ်အတူတူနှစ်ခုညှို့နှိုင်းယှဉ်ခြင်းနှင့်မေးခွန်း Gary အက္ခရာစဉ်ထဲမှာ Bob ရှေ့တော်သို့ဝင်ဘူးတောင်း?

ရှင်းနေသည်မှာအဖြေကိုအဘယ်သူမျှမပါပဲ။

အဆိုပါ script ကိုအော်ပရေတာ (<) ထက်လျော့နည်းမိတ်ဆက်။ အော်ပရေတာထက်လျော့နည်း redirection အတွက်လည်းအသုံးပြုပါသည်အဖြစ်သင်ကအဘယ်ကြောင့် script ထဲမှာငါမူကားအထက်အရာထက် သာ. ငယ်ဆိုလိုဖို့အတှကျမျဉ်းစောင်း (\) နှင့်အတူကလွတ်မြောက်ရန်ရန်ရှိသည် "$ NAME1" \ < "$ NAME2" နှိုင်းယှဉ်။

ထက်နည်း၏ဆန့်ကျင်ဘက်သိသာထက် သာ. ကြီးမြတ်သည်။ အဲဒီအစား \ <\ ကိုသုံးပါ> အသုံးပြုခြင်း၏။

ဥပမာ

[ "$ NAME1" \> "$ NAME2"] လျှင်

08 ၏ 03

Bash ရန် Beginners လမ်းညွှန် - Strings Comparing

Bash သင်ခန်းစာ - Strings နှိုငျးယှဉျ။

: သင်တစ်ဦး variable ကိုသငျသညျအောကျပါအစမ်းသပ်ကိုသုံးနိုင်သည်တန်ဖိုးရှိပါတယ်ရှိမရှိစမ်းသပ်ချင်တယ်ဆိုရင်

[-n $ NAME2] လျှင်

ငါ $ NAME2 တန်ဖိုးပေးထားသောကြောင့်မပါလျှင်မက်ဆေ့ခ်ျကို "မ Bob ရှိပါတယ်, တစ်ဦး Bob ပေါ်လာသောအဲဒီမှာဘယ်တော့မှခဲ့သည်" ။ ထားပြီးရှိမရှိစုံစမ်းပြီအထက်တွင် script ထဲမှာ

08 ၏ 04

Bash ရန် Beginners လမ်းညွှန် - Strings Comparing

Bash သင်ခန်းစာ - Strings နှိုငျးယှဉျ။

လွန်ခဲ့သောဆလိုက်တွင်ကျွန်တော်တစ်ဦး variable ကိုသတ်မှတ်ထားသို့မဟုတ်မလျက်ရှိသည်ရှိမရှိဖုံးလွှမ်းကြ၏။ တခါတရံမှာသော်လည်းတစ်ဦး variable ကိုသတ်မှတ်ထားခဲ့ကြပေမဲ့သူကတကယ်တန်ဖိုးရှိသည်မဟုတ်ပေလိမ့်မည်။

ဥပမာအားဖြင့်:

NAME1 = ""

: တစ် variable ကိုတန်ဖိုးသို့မဟုတ်မ (ဆိုလိုသည်မှာသုညတစ်အရှည်ရှိပါတယ်) အောက်မှာဖေါ်ပြတဲ့အတိုင်း -z ကိုအသုံးပြုဖို့ရှိပါတယ်ရှိမရှိစမ်းသပ်ဖို့

[-z $ NAME1] လျှင်

အထက်ပါဇာတ်ညွှန်း၌ငါသုညအရှည် string ကိုမှ $ NAME1 သတ်မှတ်ထားပြီးတော့ -z အသုံးပြုပြီးနှိုင်းယှဉ်ပါပွီ။ အကယ်. $ NAME1 အရှည်မှာပြပါလိမ့်မည် "Gary ညနေပိုင်းတွင်ထွက်သွားပြီ" ဟုအဆိုပါသတင်းစကားကိုသုညဖြစ်ပါတယ်။

08 ၏ 05

Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ

Bash သင်ခန်းစာ - တောလည်ရာနှိုငျးယှဉျ။

ဤရွေ့ကား, အပေါငျးတို့သနှိုင်းယှဉ်ညှို့များအတွက်ခဲ့ကြပြီ။ အဘယ်အရာကိုနံပါတ်များကိုနှိုင်းယှဉ်ကော?

အထက်ပါဇာတ်ညွှန်းနှစ်ခုကိုနံပါတ်များကိုနှိုင်းယှဉ်ခြင်း၏ဥပမာတစ်ခုပြသထားတယ်:

#! / bin / ကား Bash

တစ်ဦး = 4
ခ = 5

[$ တစ်ဦး = $ ခ] လျှင်
ထိုအခါ
"= 5 4" ပဲ့တင်သံ
အခြားသူ
"4 ပေမဟုတ်တန်းတူ 5" ပဲ့တင်သံ
fi

နံပါတ်ဖြစ်မယ့် variable ကိုတင်ထားရန်ရိုးရှင်းစွာ quotation အအမှတ်အသားများမပါဘဲထားကြ၏။ သို့ဖြစ်လျှင်သင်သည်လက်မှတ်ထိုးထားတဲ့တန်းတူအတူနံပါတ်များကိုနှိုငျးယှဉျနိုငျသညျ။

ငါနှစ်ခုနံပါတ်များကိုနှိုင်းယှဉ်ဖို့အောက်ပါ operator ကိုသုံးစွဲဖို့သို့သော်ကြိုက်တတ်တဲ့:

အကယ်. [$ တစ် -eq $ ခ]

08 ၏ 06

Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ

Bash သင်ခန်းစာ - တောလည်ရာနှိုငျးယှဉျ။

သင်တစ်ဦးအရေအတွက်ကိုသင်သည်အော်ပရေတာ (<) ထက်လျော့နည်းအသုံးပွုနိုငျအခြားနံပါတ်တစ်ခုထက်လျော့နည်းရှိမရှိနှိုင်းယှဉ်ချင်တယ်ဆိုရင်။ ညှို့နှင့်ဝသကဲ့သို့သင်တစ်ဦးမျဉ်းစောင်းနှင့်အတူအော်ပရေတာထက်လျော့နည်းမှလွတ်မြောက်ရန်ရှိသည်။ (\ <) ။

နံပါတ်များကိုနှိုင်းယှဉ်ခြင်း၏တစ်ဦးကပိုကောင်းတဲ့လမ်းအစားအောက်ပါသင်္ကေတကိုအသုံးပြုရန်ဖြစ်ပါသည်:

ဥပမာ:

လျှင် [$ တစ် -lt $ ခ]

[$ တစ် -le $ ခ] လျှင်

လျှင် [$ တစ် -ge $ ခ]

လျှင် [$ တစ် -gt $ ခ]

08 ၏ 07

Bash ရန် Beginners လမ်းညွှန် - တောလည်ရာနှိုငျးယှဉျ

Bash သင်ခန်းစာ - တောလည်ရာနှိုငျးယှဉျ။

နောက်ဆုံးအနေနဲ့ဒီလမ်းညွှန်အဘို့, သငျသညျနှစျခုနံပါတ်များကိုသငျသညျအတူတူအော်ပရေတာထက်ထက်လျော့နည်းနှင့်ပိုမိုဖြစ်စေအသုံးပြုနိုင်သည် (<>) သို့မဟုတ်အောက်ပါအတိုင်း -ne နိုင်ပါတယ်ကွဲပြားခြားနားသောရှိမရှိစမ်းသပ်ချင်တယ်ဆိုရင်:

လျှင် [$ တစ် <> $ ခ]

လျှင် [$ တစ် -ne $ ခ]

08 ၏ 08

Bash ရန် Beginners လမ်းညွှန် - နှိုင်းယှဉ်လုပ်ငန်းရှင်များ - အကျဉ်းချုပ်

သင်ဤလမ်းညွှန်၏ပထမသုံးပိုင်းလွဲချော်ခဲ့ကြပါလျှင်အောက်ပါလင့်ခ်ကိုနှိပ်ခြင်းအားဖြင့်သူတို့ကိုရှာတှေ့နိုငျ:

အဆိုပါလမ်းညွှန်၏နောကျစိတျအပိုငျးတှငျငါဂဏန်းသင်္ချာကိုဖုံးအုပ်ထားလိမ့်မည်။