Indlela yokubhala i-BASH "ye" Loop

Indlela yokusebenzisa i-BASH "ye" loop kwiempendulo zegobolthi

I-BASH (emele iBourne Again Shell) yilwimi esetyenziswe yi- Linux kunye ne-UNIX-based systems systems.

Unako ukuqhuba imiyalelo ye-BASH ngaphakathi kwefestile yefayili enye emva komnye okanye ungongeza ii-command kwifayili yombhalo ukuvelisa i-shell shell.

Into ebalulekileyo ngokubhalwa kweempendulo zegobolthi kukuba unokuziqhuba ngokuphindaphindiweyo. Ngokomzekelo, cinga ukuba ufuna ukufaka umsebenzisi kwinkqubo, ukubeka iimvume zabo nokulawula indawo yabo yokuqala. Ungabhala phantsi imiyalelo kwisiqwenga samaphepha uze usebenze njengoko ungeze abasebenzisi abatsha okanye unokubhala enye iskripthi uze uphewule iiparamitha kwilo script.

Iilwimi zeSkripthi ezifana ne-BASH zinokwakhiwa kweziprogram ezifana nezinye iilwimi. Ngokomzekelo, ungasebenzisa iiparamitha zangaphandle ukufumana igalelo kwibhodibhodi uze uyigcine njengeziguquko. Ungakwazi ukufumana iskripthi sokwenza isenzo esithile ngokusekelwe kwixabiso leeparitha zengeniso .

Inxalenye ebalulekileyo yiphina inkqubo kunye nolwimi lweskripthi yikhono lokuqhuba iqela elifanayo lekhowudi kwakhona.

Kukho iindlela ezininzi zokuphinda ikhowudi (eyaziwa ngokuba yi-loops). Kule khokelo, uya kuboniswa ukuba ubhale kanjani "i".

I-loop yokuphinda iphinda iqela elithile lekhowudi ngokugqithiseleyo. Ziluncedo ukwenzela ukuba uluhlu lwemiyalelo luqhubeke lusebenza kude kubekho imeko ethile idibeneyo, emva koko baya kuyeka.

Kule khokelo, uya kuboniswa iindlela ezintlanu zokusebenzisa i-loop ngaphakathi kwe-BASH script.

Ngaphambi kokuba uqalise

Ngaphambi kokuba uqalise kunye nezibonelo ze-loop, kufuneka uvule iwindi yokugcina kwaye ulandele le nyathelo:

  1. Faka izikripthi ze-mkdir ( funda kabanzi malunga ne-mkdir apha )
  2. Faka izikripthi ze-cd (oku kutshintsha ulawulo kwiibhalo )
  3. Faka nano examplen.sh (apho n umzekelo osebenza kuwo)
  4. Faka iskripthi
  5. Cinezela CTRL + O ukugcina kunye neCTRL + X ukuphuma
  6. Bash bash examplen.sh (kwakhona, ngokuba ngumzekelo osebenza nabo)

Indlela yokuLawula ngoLuhlu

#! / bin / bash
ngenani kwi-1 2 3 4 5
kuyenza
bhalisa inombolo ye $
zenziwe
ukuphuma 0

Indlela ye-BASH yokusebenzisa "i-loops" yindlela eyahlukileyo kwindlela enye inkqubo kunye neelwimi eziphatha ngayo "i". Masiqhekeza iskripthi phantsi ...

Kwi-BASH "ye" i-loop yonke, iingxelo phakathi kwenzeni kwaye zenziwe zenziwa kanye kunye nento eluhlu.

Kulo mzekelo ukhankanywe ngasentla, uludwe luyinto yonke ezayo emva kwegama ngaphakathi (okt 1 2 3 4 5).

Ngalinye ixesha ixesha elide lihamba ngayo, ixabiso elilandelayo kuloluhlu lufakwe kwiintlobo ezichaziweyo emva kwegama elithi "for" . Kulo luhlu olungentla, uguquko lubizwa ngokuba ngumbolo .

Isitatimende se- echo sisetyenziselwa ukubonisa ulwazi kwisikrini.

Ngako oko, lo mzekelo uthatha amanani 1 ukuya ku-5 kwaye uphumelelane ngomnye kwisikrini:

Indlela yokukhupha phakathi kweNqalo yokuQala nokuPhela

Ingxaki ngomzekelo ongentla apha kukuba ukuba ufuna ukucwangcisa uluhlu olukhulu (lithetha 1 ukuya ku-500), kuthatha iminyaka ukuthayipha zonke iinombolo kwindawo yokuqala.

Oku kusilethela kumzekelo wesibini obonisa indlela yokucacisa indawo yokuqala neyokugqibela:

#! / bin / bash
ngenombolo kwi {1..10}
kuyenza
bhala "inombolo ye $"
zenziwe
ukuphuma 0

Imithetho iyafana ngokufanayo. Ixabiso emva kwegama elithi " ku" lenza uluhlu lokuhlaziya kunye nexabiso ngalinye kwoluhlu lubekwe kwizinto eziguquguqukayo (oko kukuthi inombolo), kunye naso nangoko ixesha loop uhamba, iintetho phakathi kwenzeni kwaye zenziwe .

Uhlobo oluphambili luyindlela yokwenza uludwe. Amakhonkco aviniweyo {} acacisa ngobubanzi, kwaye uluhlu, kulo mzekelo, luyi-1 kuya kwe-10 (amachaphaza amabini ahlula ukuqala kunye nokuphela kohlu).

Lo mzekelo, ngoko, uhamba ngeenombolo nganye phakathi kwe-1 no-10 kwaye uphumelela kwinombolo kwisikrini ngolu hlobo lulandelayo:

I-loop efanayo yayingabhalwa njengale, nge syntax efana nomzekelo wokuqala:

ngenombolo kwi-1 2 3 4 5 6 7 8 9 10

Ukuyeka iNombolo kwiNqanaba

Umzekelo odlulileyo ubonise indlela yokudibanisa phakathi kwendawo yokuqala kunye neyokugqibela, ngoku ngoku siza kujonga indlela yokweqa amanamba kwibala.

Cinga ukuba ufuna ukukhwela phakathi kwe-0 no-100 kodwa ubonise kuphela inombolo yeshumi. Iskripthi esilandelayo sibonisa indlela yokwenza oko nje:

#! / bin / bash
ngenombolo ku- {0..100..10}
kuyenza
bhala "inombolo ye $"
zenziwe
ukuphuma 0

Imithetho iyafana ngokufanayo. Kukho uluhlu, uguquko, kunye nesethi yeengxelo eziza kwenziwa phakathi kwenzeni kwaye zenziwe . Uluhlu lo xesha lubonakala kanje: {0..100..10}.

Inombolo yokuqala ngowama-0 kwaye inombolo yokugqibela i-100. Inombolo yesithathu (10) inani lezinto eziluhlu oluza kudlula.

Umzekelo ongentla ungabonakalisa oku kulandelayo:

Umntu oqhelekileyo okhangele i-Loop

Indlela ye-BASH yo kubhala i-loops ayimangalisa xa kuthelekiswa nezinye iilwimi zokusetyenziswa.

Kodwa unako ukubhala i-loop kwisitayela esifanayo kulwimi lwe-C lwenkqubo, njengale:

#! / bin / bash
((inombolo = 1; inombolo <100; inombolo ++))
{
ukuba ((i-$ inombolo% 5 == 0))
ngoko
bhala "inombolo ye-$ ibonakala ngo-5"
fi
}
ukuphuma 0

Umtya uqala ngokubeka inombolo eguqukileyo ukuya ku-1 (inombolo = 1 ). I-loop iya kuhlala ijikeleza ngelixa inani leenombolo lingaphantsi kwe-100 ( inombolo <100 ). Ixabiso leenombolo utshintsho ngokungeza 1 kuyo emva kweyure nganye ( inombolo ++ ).

Yonke into ephakathi kwe-brace brace eyenziwa nganye nge-iteration ye-loop.

I-bit phakathi kwe-braces ihlola ixabiso leenombolo , lihlula ngo-5, kwaye lifanisa intsalela ukuya kwi-0. Ukuba intsalela i-0 ke inombolo iyahlukana ngo-5 kwaye iboniswa kwisikrini.

Umzekelo:

Ukuba ufuna ukutshintsha ubungakanani beziteyathelo zokutshintshela unokuchibiyela isigaba senombolo ++ ukuba inombolo = inombolo + 2 , inombolo = inombolo + 5 , okanye inombolo = inombolo + 10 njl.

Oku kuya kuncitshiswa ukuba kube nombolo + = 2 okanye inombolo + = 5 .

Umzekelo oSebenzayo

Ngokuba izikhonkwane zingenza ngaphezu kweenhlu zeenombolo. Ungayisebenzisa ngokwenene imveliso yeminye imiyalelo njengoluhlu.

Umzekelo olandelayo ubonisa indlela yokuguqula iifayile zomsindo ukusuka kwi- MP3 ukuya kwi- WAV :

#! / bin / bash

Uluhlu kulo mzekelo yiyo yonke ifayile kunye nokwandiswa kweMP3 kwifolda yangoku kwaye iguquguquko yifayile .

Umyalelo we- mpg uguqula ifayile ye-MP3 kwi-WAV. Nangona kunjalo, mhlawumbi kufuneka ufake oku usebenzisa umphathi wakho wephakheji kuqala.