အဆိုပါစမ်းသပ်မှု command ကိုအချင်းချင်းတယောက်ကိုတယောက်ကဲ့ရဲ့ခြင်းဒြပ်စင်နှိုင်းယှဉ်ဖို့ Linux ကို command line ကိုပေါ်သုံးနိုင်တယ်ဒါပေမယ့်ပိုပြီးလေ့များတွင်အသုံးပြုသည် ကား Bash shell ကို script များ ၏တစ်စိတ်တစ်ပိုင်းအဖြစ် ခြွင်းချက်ထုတ်ပြန်ချက်များ ယုတ္တိဗေဒနှင့်အစီအစဉ်ကိုစီးဆင်းမှုကိုထိန်းချုပ်ပေးသော။
တစ်ဦးကအခြေခံပညာဥပမာ
သငျသညျရိုးရိုးအားဖြင့်ထို command များကိုကြိုးစားနိုင် Terminal ကိုပြတင်းပေါက်ဖွင့်လှစ် ။
စမ်းသပ်မှု 1 -eq 2 "ဟုတ်ကဲ့" echo && || "no" ဆိုတဲ့ပဲ့တင်သံ
အောက်မှာဖေါ်ပြတဲ့အတိုင်းအထက် command ကိုဖြိုဖျက်ခံရနိုင်သည်
- စမ်းသပ်မှု - ဤသင်တစ်ဦးနှိုင်းယှဉ်ဖျော်ဖြေဖို့အကြောင်းကိုများမှာဆိုလိုတယ်
- 1 - သင်နှိုင်းယှဉ်ဖို့သွားကြသည်ကိုပထမဦးဆုံးဒြပ်စင်
- -eq (သင်မည်သို့နှိုင်းယှဉ်ကြသည်, ဤကိစ္စတွင်အတွက်သင်တဦးတည်းအရေအတွက်ကအခြားညီမျှရှိမရှိစမ်းသပ်ကြသည်)
- 2 - သငျသညျတဖနျပထမဦးဆုံးဒြပ်စင်နှိုင်းယှဉ်နေသောဒြပ်စင်
- && - ရလဒ်မှန်လျှင်အောက်ပါကြေညာချက်ကို run
- "ဟုတ်ကဲ့" ပဲ့တင်သံ - နှိုင်းယှဉ်စစ်မှန်တဲ့ပြန်လာလျှင် run ဖို့အမိန့်
- || - ရလဒ်မှားယွင်းသောလျှင်အောက်ပါကြေညာချက်ကို run
- "no" ဆိုတဲ့ပဲ့တင်သံ - နှိုင်းယှဉ်မှားယွင်းသောပြန်လာလျှင် run ဖို့အမိန့်
အနှစ်သာရမှာ command ကို 2 1 မှနှိုင်းယှဉ်ဖြစ်ပြီးသူတို့ကပဲ့တင်သံကိုက်ညီ "ဟုတ်ကဲ့" ကြေညာချက် "ဟုတ်ကဲ့" ပြသခြင်းနှင့်သူတို့ပဲ့တင်သံမကိုက်ညီကြပါလျှင် "no" ဆိုတဲ့ကြေညာချက် "no" ဆိုတဲ့ဖော်ပြပေးထားတဲ့ကွပ်မျက်ခံရသောကွပ်မျက်ခံရခြင်းဖြစ်သည်။
နှိုငျးယှဉျတောလည်ရာ
သငျသညျနံပါတ်များအဖြစ်ခွဲခြားစိတ်ဖြာမှုကြောင့် element တွေကိုနှိုင်းယှဉ်နေတယ်ဆိုရင်သင်အောက်ပါနှိုင်းယှဉ်အော်ပရေတာကိုသုံးနိုင်သည်:
- -eq - 2 တန်ဖိုးကို 1 တန်းတူတန်ဖိုးကိုမ
- -ge - တန်ဖိုးကို 1 သာ. ကြီးမြတ်သို့မဟုတ်တန်ဖိုးကို 2 ညီမျှသည်
- -gt - တန်ဖိုးကို 2 ထက်တန်ဖိုးကို 1 သာ. ကြီးမြတ်သည်
- -le - တန်ဖိုးကို 1 ထက်လျော့နည်းသို့မဟုတ်တန်ဖိုးကို 2 ညီမျှသည်
- -lt - တန်ဖိုးကို 2 ထက်တန်ဖိုးကို 1 လျော့နည်း
- -ne - မတန်ဖိုးကို 1 မပြုတန်းတူတန်ဖိုးကို 2
ဥပမာ:
စမ်းသပ်မှု 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 တွေကိုနှိုင်းယှဉ်နေတယ်ဆိုရင်သင်အောက်ပါနှိုင်းယှဉ်အော်ပရေတာကိုသုံးနိုင်သည်:
- = - string ကို 1 ပွဲ string ကိုမ 2
- ! = - string ကို 2 string ကို 1 ခြားနားသည်
- -n - 0 ထက် string ကိုအရှည် သာ. ကြီးမြတ်သည်
- -z - string ကိုအရှည် 0
ဥပမာ:
စမ်းသပ်မှု "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 ကိုအရှည်ထားပြီးဖြစ်သောကြောင့်)
နှိုငျးယှဉျဖိုင်များ
သငျသညျဖိုင်တွေနှိုင်းယှဉ်နေတယ်ဆိုရင်သင်အောက်ပါနှိုင်းယှဉ်အော်ပရေတာကိုသုံးနိုင်သည်:
- -ef - ဖိုင်များ (သူတို့အတူတူဖိုင်ရှိပါတယ်) တူညီသောစက်ကိရိယာနှင့် inode နံပါတ်များရှိသည် Do
- -nt - ဒုတိယဖိုင်ထက်ပထမဦးဆုံးဖိုင်အသစ်များ Is
- -ot - ဒုတိယဖိုင်ထက်ပထမဦးဆုံးဖိုင်အဟောင်းတွေ Is
- -b - ဖိုင်တည်ရှိခြင်းနှင့်ပိတ်ပင်တားဆီးမှုအထူးဖြစ်ပါသည်
- -c - ဖိုင်ဇာတ်ကောင်အထူးတည်ရှိခြင်းနှင့်ဖြစ်ပါသည်
- -D - ဖိုင်ဟာ directory တည်ရှိခြင်းနှင့်ဖြစ်ပါသည်
- -e - ဖိုင်တည်ရှိ
- -f - ဖိုင်ပုံမှန်ဖိုင်တည်ရှိခြင်းနှင့်ဖြစ်ပါသည်
- -g - ဖိုင်သတ်မှတ်ထားသောအုပ်စုအရေအတွက်ကတည်ရှိခြင်းနှင့်ရှိပါတယ်
- -G - အသုံးပြုသူရဲ့အဖွဲ့တစ်ဖွဲ့အားဖြင့်ဖိုင်တည်ရှိခြင်းနှင့်ပိုင်ရှင်
- -h - ဖိုင်တည်ရှိခြင်းနှင့်တစ်ခုဖြစ်သည် တစ်ဦးသင်္ကေတ link ကို
- -k - ဖိုင်က၎င်း၏စေးကပ်နည်းနည်းအစုံတည်ရှိခြင်းနှင့်ရှိပါတယ်
- -L - -h အဖြစ်အတူတူပင်
- -O - ဖိုင်သင်သည်ပိုင်ရှင်များမှာတည်ရှိ
- -p - ဖိုင်တစ်အမည်ရှိပိုက်တည်ရှိခြင်းနှင့်ဖြစ်ပါသည်
- -r - ဖိုင်တည်ရှိခြင်းနှင့်ဖတ်လို့ရအောင်ဖြစ်ပါတယ်
- -s - ဖိုင်သုညထက် သာ. ကြီးမြတ်တဲ့အရွယ်အစားတည်ရှိခြင်းနှင့်ရှိပါတယ်
- -s - ဖိုင်တစ် socket တည်ရှိခြင်းနှင့်ဖြစ်ပါသည်
- -t - ဖိုင် descriptor ကို Terminal ကိုဖွင့်လှစ်တာဖြစ်ပါတယ်
- -u - ဖိုင်တည်ရှိခြင်းနှင့် set-အသုံးပြုသူ-id သည်နည်းနည်းသတ်မှတ်
- -w - ဖိုင်တည်ရှိခြင်းနှင့် writable ဖြစ်ပါသည်
- -x - ဖိုင်တည်ရှိခြင်းနှင့်က executable ဖြစ်ပါသည်
ဥပမာ:
စမ်းသပ်မှု / လမ်းကြောင်းကို / မှ / file1 -n / လမ်းကြောင်းကို / မှ / file2 && ပဲ့တင်သံ "ဟုတ်ကဲ့"
(file1 file2 ထက်ပိုသစ်ဖြစ်တယ်ဆိုရင်ထို့နောက်စကားလုံး "ဟုတ်ကဲ့" ပြသပါလိမ့်မည်)
စမ်းသပ်မှု -e / လမ်းကြောင်းကို / မှ / file1 && ပဲ့တင်သံ "ဟုတ်ကဲ့"
(file1 နှုတ်ကပတ်တရားတော်ကိုတည်ရှိပါလျှင် "ဟုတ်ကဲ့" ပြသပါလိမ့်မည်)
စမ်းသပ်မှု -O / လမ်းကြောင်းကို / မှ / file1 && ပဲ့တင်သံ "ဟုတ်ကဲ့"
(သင် file1 ပိုင်ဆိုင်လျှင်ထို့နောက်စကားလုံးက "ဟုတ်ပါတယ်" "ပြသတာဖြစ်ပါတယ်)
ဝေါဟာရကထာ
- အထူးပိတ်ဆို့ - ဖိုင်ဒေတာ bytes ၏လုပ်ကွက်များတွင်ဖတ်ပါကြောင်းဆိုလိုတာကတစ်ပိတ်ပင်တားဆီးမှုကိရိယာဖြစ်သည်။ ဤရွေ့ကားယေဘုယျအားဖြင့်ထိုကဲ့သို့သော hard drive တွေအဖြစ် device ကိုဖိုင်တွေဖြစ်ကြသည်။
- အထူးဇာတ်ကောင် - ဖိုင်သင်ကစာရေးသည့်အခါချက်ချင်းအပေါ်သို့ပြုမူခြင်းနှင့်လေ့ထိုကဲ့သို့သောအမှတ်စဉ်ဆိပ်ကမ်းကိုအဖြစ်ကိရိယာဖြစ်ပါသည်
အကွိမျမြားစှာအခြေအနေများနှိုင်းယှဉ်
ဤရွေ့ကား, အရာအားလုံးသည်အခြားဆန့်ကျင်ရာတစျခုနှိုင်းယှဉ်ထားပြီးသင်မူကားအခြေအနေနှစ်ခုနှိုင်းယှဉ်ဖို့အဘယ်အရာကိုလိုလျှင်။
တိရစ္ဆာန် 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 ကိုတွင်, သငျသညျဖိုင်တစ်ခုတည်ရှိသို့မဟုတ်ရှိမရှိစမ်းသပ်ဖို့အသုံးပွုနိုငျ