တစ်ဦး Bash မှာ Script အတွင်းမှာပဲစမ်းသပ်ခြင်းအခြေအနေများအသုံးပြုနည်းကိုဘယ်လို

အဆိုပါစမ်းသပ်မှု command ကိုအချင်းချင်းတယောက်ကိုတယောက်ကဲ့ရဲ့ခြင်းဒြပ်စင်နှိုင်းယှဉ်ဖို့ Linux ကို command line ကိုပေါ်သုံးနိုင်တယ်ဒါပေမယ့်ပိုပြီးလေ့များတွင်အသုံးပြုသည် ကား Bash shell ကို script များ ၏တစ်စိတ်တစ်ပိုင်းအဖြစ် ခြွင်းချက်ထုတ်ပြန်ချက်များ ယုတ္တိဗေဒနှင့်အစီအစဉ်ကိုစီးဆင်းမှုကိုထိန်းချုပ်ပေးသော။

တစ်ဦးကအခြေခံပညာဥပမာ

သငျသညျရိုးရိုးအားဖြင့်ထို command များကိုကြိုးစားနိုင် Terminal ကိုပြတင်းပေါက်ဖွင့်လှစ်

စမ်းသပ်မှု 1 -eq 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

အောက်မှာဖေါ်ပြတဲ့အတိုင်းအထက် command ကိုဖြိုဖျက်ခံရနိုင်သည်

အနှစ်သာရမှာ command ကို 2 1 မှနှိုင်းယှဉ်ဖြစ်ပြီးသူတို့ကပဲ့တင်သံကိုက်ညီ "ဟုတ်ကဲ့" ကြေညာချက် "ဟုတ်ကဲ့" ပြသခြင်းနှင့်သူတို့ပဲ့တင်သံမကိုက်ညီကြပါလျှင် "no" ဆိုတဲ့ကြေညာချက် "no" ဆိုတဲ့ဖော်ပြပေးထားတဲ့ကွပ်မျက်ခံရသောကွပ်မျက်ခံရခြင်းဖြစ်သည်။

နှိုငျးယှဉျတောလည်ရာ

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

ဥပမာ:

စမ်းသပ်မှု 1 -eq 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "မ" 1 တန်းတူ 2 မဘာဖြစ်လို့လဲဆိုတော့)

စမ်းသပ်မှု 1 -ge 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "မ" 1 သာ. ကြီးမြတ်သို့မဟုတ် 2 ညီမျှမဟုတ်ပါဘူးဘာဖြစ်လို့လဲဆိုတော့)

စမ်းသပ်မှု 1 -gt 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "no" ဆိုတဲ့ 1 2 ထက် သာ. ကြီးမြတ်သည်မဟုတ်ဘာဖြစ်လို့လဲဆိုတော့)

စမ်းသပ်မှု 1 -le 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "ဟုတ်ကဲ့" 1 ထက်လျော့နည်းသို့မဟုတ် 2 ညီမျှသောကွောငျ့)

စမ်းသပ်မှု 1 -lt 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "ဟုတ်ကဲ့" 1 ထက်လျော့နည်းသို့မဟုတ် 2 ညီမျှသောကွောငျ့)

စမ်းသပ်မှု 1 -ne 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "ဟုတ်ကဲ့" 1 2 တူညီပါဘူးဘာဖြစ်လို့လဲဆိုတော့)

နှိုငျးယှဉျစာသား

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

ဥပမာ:

စမ်းသပ်မှု "string1" = "string2" && ပဲ့တင်သံ "ဟုတ်ကဲ့" || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "မ" "string1" မတန်းတူမဟုတ် "string2" ဘာဖြစ်လို့လဲဆိုတော့)

စမ်းသပ်မှု "string1"! = "string2" && ပဲ့တင်သံ "ဟုတ်ကဲ့" || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "ဟုတ်ကဲ့" "string1" မတန်းတူမဟုတ် "string2" ဘာဖြစ်လို့လဲဆိုတော့)

စမ်းသပ်မှု -n "string1" && ပဲ့တင်သံ "ဟုတ်ကဲ့" || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "ဟုတ်ကဲ့" "string1" သုညထက် သာ. ကြီးမြတ်တဲ့ string ကိုအရှည်ထားပြီးဖြစ်သောကြောင့်)

"string1" -z စမ်းသပ် && "ဟုတ်ကဲ့" echo || "no" ဆိုတဲ့ပဲ့တင်သံ

(မျက်နှာပြင်မှ display ကို "မ" "string1" သုညထက် သာ. ကြီးမြတ်တဲ့ string ကိုအရှည်ထားပြီးဖြစ်သောကြောင့်)

နှိုငျးယှဉျဖိုင်များ

သငျသညျဖိုင်တွေနှိုင်းယှဉ်နေတယ်ဆိုရင်သင်အောက်ပါနှိုင်းယှဉ်အော်ပရေတာကိုသုံးနိုင်သည်:

ဥပမာ:

စမ်းသပ်မှု / လမ်းကြောင်းကို / မှ / file1 -n / လမ်းကြောင်းကို / မှ / file2 && ပဲ့တင်သံ "ဟုတ်ကဲ့"

(file1 file2 ထက်ပိုသစ်ဖြစ်တယ်ဆိုရင်ထို့နောက်စကားလုံး "ဟုတ်ကဲ့" ပြသပါလိမ့်မည်)

စမ်းသပ်မှု -e / လမ်းကြောင်းကို / မှ / file1 && ပဲ့တင်သံ "ဟုတ်ကဲ့"

(file1 နှုတ်ကပတ်တရားတော်ကိုတည်ရှိပါလျှင် "ဟုတ်ကဲ့" ပြသပါလိမ့်မည်)

စမ်းသပ်မှု -O / လမ်းကြောင်းကို / မှ / file1 && ပဲ့တင်သံ "ဟုတ်ကဲ့"

(သင် file1 ပိုင်ဆိုင်လျှင်ထို့နောက်စကားလုံးက "ဟုတ်ပါတယ်" "ပြသတာဖြစ်ပါတယ်)

ဝေါဟာရကထာ

အကွိမျမြားစှာအခြေအနေများနှိုင်းယှဉ်

ဤရွေ့ကား, အရာအားလုံးသည်အခြားဆန့်ကျင်ရာတစျခုနှိုင်းယှဉ်ထားပြီးသင်မူကားအခြေအနေနှစ်ခုနှိုင်းယှဉ်ဖို့အဘယ်အရာကိုလိုလျှင်။

တိရစ္ဆာန် 4 ခြေထောက်ရှိပြီး "Moo" ဝင်မယ်ဆိုရင်ဥပမာ, ဖြစ်ကောင်းတဲ့နွားမသည်။ ရိုးရှင်းစွာအ 4 ခြေထောက်များအတွက်စစ်ဆေးနေသင်တစ်ဦးနွားမရှိသည်အာမခံပေမယ့်ဧကန်အမှန်မစေသည်အသံစစ်ဆေးနေမထားဘူး။

တခါမှာနှစ်ဦးစလုံးအခြေအနေများစမ်းသပ်ဖို့အောက်ပါကြေညာချက်ကိုသုံးပါ:

စမ်းသပ်မှု 4 -eq 4 -a "Moo" = "Moo" && "ကနွားမသည်" ပဲ့တင်သံ || "ဒါဟာနွားမမဟုတျပါဘူး" ပဲ့တင်သံ

ဒီမှာအဓိကအစိတ်အပိုင်းနှင့်အတိုကောက်ဖြစ်သော -a ဖြစ်ပါတယ်။

အဲဒီမှာအတူတူစမ်းသပ်ဖျော်ဖြေ၏ပိုကောင်းတဲ့နှင့်ပိုပြီးလေ့အသုံးပြုလမ်းဖြစ်ပြီးအောက်ပါအတိုင်းဖြစ်ပါသည်:

စမ်းသပ်မှု 4 -eq 4 && စမ်းသပ် "Moo" = "Moo" && "ကနွားမသည်" ပဲ့တင်သံ || "ဒါဟာနွားမမဟုတျပါဘူး" ပဲ့တင်သံ

သငျသညျစေခငျြစေခြင်းငှါ, နောက်ထပ်စမ်းသပ်မှုနှစ်ခုထုတ်ပြန်ချက်များနှိုင်းယှဉ်ခြင်းနှင့်ဖြစ်စေတစ်ဦး string ကိုစစ်မှန်တဲ့ output ကိုလျှင်ဖြစ်ပါတယ်။ သင် "file1.txt" အမည်ရှိဖိုင်တစ်ခုရှိကွောငျးစစျဆေးခငျြသို့မဟုတ်လျှင်ဥပမာ, "file1.doc" ဟုခေါ်ဖိုင်တစ်ခုကိုသင်အောက်ပါ command ကိုသုံးနိုင်သည်တည်ရှိ

စမ်းသပ်မှု -e file1.txt -O -e file1.doc && ပဲ့တင်သံ "file1 တည်ရှိ" || "file1 မတည်ရှိပါဘူး" ပဲ့တင်သံ

ဒီမှာအဓိကအစိတ်အပိုင်းသို့မဟုတ်အတိုကောက်ဖြစ်သော -O ဖြစ်ပါတယ်။

အဲဒီမှာအတူတူစမ်းသပ်ဖျော်ဖြေ၏ပိုကောင်းတဲ့နှင့်ပိုပြီးလေ့အသုံးပြုလမ်းဖြစ်ပြီးအောက်ပါအတိုင်းဖြစ်ပါသည်:

file1.txt -e စမ်းသပ် || စမ်းသပ်မှု -e file1.doc && ပဲ့တင်သံ "file1 တည်ရှိ" || "file1 မတည်ရှိပါဘူး" ပဲ့တင်သံ

အဆိုပါစမ်းသပ်တဲ့ Keyword ဖျက်သိမ်းရေး

သင်အမှန်တကယ်နှိုင်းယှဉ်လုပ်ဆောင်ဖို့စကားလုံးစမ်းသပ်သုံးစွဲဖို့မလိုအပ်ပါဘူး။ သင်ပြုသမျှအားလုံးသည်အောက်ပါအတိုင်းအဖြစ်စတုရန်းကွင်းခတ်အတွက်ကြေညာချက်ခိုင်ခံ့သည်:

[-e file1.txt] && ပဲ့တင်သံ "file1 တည်ရှိ" || "file1 မတည်ရှိပါဘူး" ပဲ့တင်သံ

အဆိုပါ [နဲ့] အခြေခံအားဖြင့်စမ်းသပ်မှုကဲ့သို့တူညီသောဆိုလိုသည်။

အခုဆိုရင်သင်အောက်ပါအတိုင်းမျိုးစုံအခြေအနေများနှိုင်းယှဉ်ပေါ်တိုးတက်စေနိုင်ပါတယ်ဒီကိုသိ:

[4 -eq 4] && [ "Moo" = "Moo"] && "ကနွားမသည်" ပဲ့တင်သံ || "ဒါဟာနွားမမဟုတျပါဘူး" ပဲ့တင်သံ

[-e file1.txt] || [-e file1.doc] && ပဲ့တင်သံ "file1 တည်ရှိ" || "file1 မတည်ရှိပါဘူး" ပဲ့တင်သံ

အကျဉ်းချုပ်

သင်တို့သည်အချင်းချင်းဆန့်ကျင် variable ကိုနှင့်ထိန်းချုပ်မှုအစီအစဉ်ကိုစီးဆင်းမှု၏တန်ဖိုးကိုစမ်းသပ်နိုင်သောကြောင့်အဆိုပါစမ်းသပ်မှု command ကို script များအတွက်ပိုမိုအသုံးဝင်သည်။ စံ command line ကိုတွင်, သငျသညျဖိုင်တစ်ခုတည်ရှိသို့မဟုတ်ရှိမရှိစမ်းသပ်ဖို့အသုံးပွုနိုငျ