commands, Syntax နှင့်ဥပမာများ
သင်တစ်ဦး script ကိုဖိုင်သို့သူတို့ကိုငါရေးသားခြင်း, ပြီးတော့သူကအပြေးနေဖြင့် command များကိုတစ်ဦး sequence ကို execute နိုင်ပါတယ်။
ဒီ script file ကိုရိုးရှင်းစွာလည်း command line ကို (ထံမှကွပ်မျက်ခံရနိုင်ညွှန်ကြားချက်တစ်ခု sequence ကိုပါဝင်သောပုံမှန်အားဖြင့် .SH ဖိုင် extension တွေနဲ့စာသားဖိုင်ဖြစ်ပါသည် shell ကို ) ။
Loop ဥပမာနေစဉ်
အောက်တွင်တစ်ဦးအနေဖြင့်ကွင်းဆက်၏ဥပမာတစ်ခုဖြစ်ပါတယ်။ ကွပ်မျက်ခံရသည့်အခါ, ဒီ script ကိုဖိုင် screen ပေါ်မှာ 9 မှတဆင့်နံပါတ်များ 1 print ထုတ်ပါလိမ့်မယ်။ အဆိုပါစဉ်-ကြေညာချက်ကိုသင်ထက်ရပ်စဲခွအေနအေသတ်မှတ်ခြင်းပိုမိုပြောင်းလွယ်ပြင်လွယ်ပေးသည် များအတွက်-ကွင်းဆက် ။
#! / bin / ကား Bash count က = 1 [$ -le 9 ရေတွက်] "$ count က" အိပ်စက်ခြင်း 1 echo ပြုကြစဉ် (() ++ ရေတွက်) ပြီးပြီဥပမာအားဖြင့်, သင် increment ကြေညာချက် "((ရေတွက် ++))" ချန်လှပ်ခြင်းဖြင့်ယခင်ဇာတ်ညွှန်းတစ်ခုအဆုံးမဲ့ loop ကိုဖြစ်စေနိုင်ပါတယ်:
#! / bin / ကား Bash count က = 1 [$ -le 9 ရေတွက်] အနေဖြင့် "$ count က" အိပ်စက်ခြင်း 1 ပြီးပြီ echo ပါဘူးအဆိုပါ "အိပ်စက်ခြင်း 1" ကြေညာချက်အသီးအသီးကြားမှာအပေါ် 1 စက္ကန့်များအတွက်ကွပ်မျက် pauses ။ ယင်းကို Ctrl + C ကိုသုံးပါ ကီးဘုတ် လုပ်ငန်းစဉ်ရပ်ဆိုင်းဖို့ဖြတ်လမ်း။
သင်တို့သည်လည်းအခြေအနေကိုအဖြစ်အူမကြီးချပြီးအားဖြင့်တစ်ဦးအဆုံးမဲ့ကွင်းဆက်ဖန်တီးနိုင်သည်
# / bin / ကား Bash count က = 1 နေချိန်မှာ: echo ကြဘူး "$ count က" အိပ်စက်ခြင်း 1 (() ++ ရေတွက်) ပြီးပြီယင်းအနေဖြင့်-ကွင်းဆက်အတွက်မျိုးစုံသောအခြေအနေများသုံးစွဲဖို့အလို့ငှာ, သင်နှစ်ဆစတုရန်း bracket ကသင်္ကေတကိုအသုံးပြုရန်ရှိသည်:
စဉ် = 1 = 0 ပြုသောအမှုရေတွက် [[$ -le 9 ရေတွက်] && [$ == 0] ပြုသောအမှု] [$ == 5 ရေတွက်] လျှင် "$ count က" အိပ်စက်ခြင်း 1 (() ++ ရေတွက်) echo ဘူး; ထို့နောက် $ ပြုသောအမှု = 1 fi ပြီးပြီဒီ script ကိုမှာ variable ကို 0 င်ဖို့န, ပြီးတော့အဲဒီကွင်းဆက်အခြေအနေနေချိန်မှာကွင်းဆက်နေသမျှကာလပတ်လုံး "count က" ကိုးထက်လျော့နည်းခြင်းနှင့်ညီမျှသည် "ပြုမိ" ဖြစ်ပါတယ်အဖြစ်ဆက်လက်လိမ့်မည်ဟုဤသို့ဖော်ပြသည် 5. ရေတွက်ရောက်ရှိသည့်အခါ 1 ဟုသတ်မှတ်ထား "ပြုမိ" သုညဖြစ်သည်။ ယင်းအရေအတွက် 5 ညီမျှသည့်အခါထိုကြောင့်ကွင်းထဲမှထွက်သွားရန်။
အဆိုပါ "&&" ယုတ္တိ "နှင့်" နှင့် "||" ကိုဆိုလိုသည် ယုတ္တိကိုဆိုလိုသည် "သို့မဟုတ်" ။
တစ်ခုကအခြားရွေးချယ်စရာအဆိုပါတွဲဖက်များအတွက်သင်္ကေတ "နှင့်" နှင့် "သို့မဟုတ်" အခြေအနေများအတွက်တစ်ခုတည်းစတုရန်းကွင်းခတ်နှင့်အတူ "-a" နှင့် "-O" ဖြစ်ပါတယ်။ အထက်ပါအခွအေနေ:
[[$ -le 9 ရေတွက်] && [$] == 0 င်ပြုမိ]... အဖြစ်ပြန်လည်ပြင်ဆင်ရေးနိုင်:
-a [$ == 0 င်ပြုမိ] [$ -le 9 ရေတွက်]စာသားဖိုင် Reading ပုံမှန်အားဖြင့်ခဏတစ်ကွင်းဆက်ပြုနေသည်။ အောက်ပါဥပမာထဲမှာ, ကား Bash Script ကိုကိုခေါ်တဲ့ဖိုင်လိုင်းအားဖြင့် contents တွေကိုလိုင်းဖတ် "inventory.txt:"
FILE ကို = inventory.txt အမှုဆောင်အရာရှိ 6ပထမဦးဆုံးလိုင်းမှာ "FILE ကို" variable ကိုရန် input ကိုဖိုင် name ကိုသတ်မှတ်ပေးထားတဲ့။ ဒုတိယလိုင်း (က 3 နှင့် 9 အကြားမည်သည့်တန်ဖိုးကိုဖြစ်နိုင်ပါတယ်) ဖိုင်ကို descriptor ကို "6" ရှိ "စံ input ကို" ကယ်တင်တော်မူ၏။ ဤ "စံ input ကို" (ကိုအသုံးပြုသည်အရာ 0 င် "," ဟာ input ကိုဖိုင် descriptor ကို file ဖို့တာဝန်သည် 3rd လိုင်းများတွင်အမှုဆောင်အရာရှိ 0 င် "ဟုအဆိုပါကြေညာချက်တွင်တွေ့မြင်ဇာတ်ညွှန်းရဲ့အဆုံးမှာ descriptor ကို" 0 "file ပြန်ရနိုင်နိုင်အောင်ပြု စံ input ကိုများအတွက်။ အဆိုပါကြေငြာချက် "ကိုဖတ်ပြီး" ထို့နောက်တစ်ဦးချင်းစီကြားမှာပေါ်မှ file ကိုကနေလိုင်းဖတ်နှင့် "line1" variable ကိုကသတ်မှတ်ပေးထားတဲ့။
အချိန်မတိုင်မီတစ်ဦးအနေဖြင့်-ကွင်းဆက်မှထွက်ရန်အလို့ငှာ, သင်သည်ဤကဲ့သို့သောချိုးကြေညာချက်ကိုသုံးနိုင်သည်:
[$ == 5 ရေတွက်] လျှင် [$ -le 9 ရေတွက်] ကိုချိုးဖျက် fi ပြီးဆုံး echo အမှုကိုပြုပြီးနောက် "$ count က" အိပ်စက်ခြင်း 1 (() ++ ရေတွက်) echo ပါဘူးစဉ် = 1 = 0 ပြုသောအမှုရေတွက်အဆိုပါချိုးကြေညာချက်ကွင်းဆက်အနေဖြင့်အဆုံးပရိုဂရမ်တစ်ခုကွပ်မျက် skips ကြောင့်အောက်ပါတစ်ခုခုထုတ်ပြန်ချက်များ ပေး. စီရင်။ ဤကိစ္စတွင်ခုနှစ်, ကြေညာချက် "ပြီးဆုံး echo ။ "
အဆိုပါကြေညာချက်တွင်ဆက်လက်အခြားတစ်ဖက်တွင်လက်ရှိကြားမှာ၏နေချိန်မှာကွင်းဆက်ကြေညာချက်ကသာအရာကြွင်းလေ skips နှင့်လာမည့်ကြားမှာတိုက်ရိုက်ခုန်:
[$ == 5 ရေတွက်] လျှင်ပြီးဆုံး echo ပြုသောအမှု fi ပဲ့တင်သံ "$ count က" ကိုဆက်လက်ပြီးတော့အိပ်ပျော်ခြင်း 1 (() ++ ရေတွက်) [$ -le 9 ရေတွက်] နေချိန်မှာ = 1 = 0 ပြုမိကြဘူးရေတွက်ဤကိစ္စတွင်ခုနှစ်, သည် "ဆက်လက်" ကြေညာချက် variable ကိုဤနောက်ဆက်တွဲထုတ်ပြန်ချက် (ပဲ့တင်သံ "$ count က") ကိုဆိုလိုသည် 5. ရောက်ရှိ "ရေတွက်" သောအခါကွပ်မျက်ခံရခြင်းဖြစ်သည် ( "count က" ၏တန်ဖိုး 5 အခါ) ဒီကြားမှာအပေါ်ကွပ်မျက်ခံရမပေးပါ။