Pregled za zanko v skriptu Shell

Za zanko v Shell Scripting v tem recimo, če želimo, da nalogo ali operacijo ponavljamo, lahko napišemo isto kodo tolikokrat, kar je zamudno opravilo in tudi premalo učinkovito. Da bi se izognili tovrstnim scenarijem, lahko uporabimo zanke kot za zanko v programskem jeziku. Torej, zanka se uporablja za izvedbo določene naloge, kot je seštevanje / množenje ali katera koli druga operacija, za določeno število krat, dokler ni izpolnjen pogoj prenehanja v katerem koli operacijskem sistemu. Ni nam treba vedno znova pisati iste kode z uporabo zanke.

Sintaksa za zanko

Skladnjavo zanke v skriptnih lupinah je lahko predstavljeno na različne načine, kot je spodaj:

1. Prva metoda sintakse

for var in list
do
command1
command2
done

Iz zgornjega primera imamo vnaprej definirane ključne besede ali vgrajene ključne besede, kot so za, naredite, naredite in in., Medtem ko je seznam seznam spremenljivk ali seznam besed ali seznam številk in var je ime spremenljivke med to ponovitvijo. Če ni naveden seznam, bo bash sprejel pozicijski parameter, ki smo ga posredovali v lupini. V zgornjem primeru za zanko izvrši vse ukaze, ki so med storitvami in storitimi za n število krat, kjer je n velikost seznama. Na primer, če je na seznamu velikost 5 s številkami od 1 do 5, se bo med prvo ponovitvijo 1 shranilo v var, operacije na varu pa bo izvajalo telo zanke, kjer so ukazi.

2. Druga metoda sintakse

for ( ( expr1; expr2; expr3 ))
do
command1
command2
….
done

Če opazimo v zgornji skladnji, je ta skladnja podobna skladnji for za zanko v programskem jeziku c. V zanki obstajajo trije izrazi, kjer je prvi izraz za inicializacijo, drugi za pogojno preverjanje in tretji za posodobitev iteratorja. Zgornja izvedba zanke se bo začela takole, preden se začne prva iteracija expr1, kar pomeni, da se bo inicializacija izvedla po tem, ko se bodo operacije / ukazi med narediti in naredili iterativno, dokler expr2 ne oceni na true in po vsaki iteraciji expr3 posodobi iterator vrednost (števec), tako da se bodo operacije izvajale na naslednjem elementu ali vrednosti na seznamu ali matriki ali nizu.

Diagram toka - za zanko v Shell Scripting

Razmislimo o primeru zanke in razpravljamo o toku z uporabo diagrama tokov.

for filename in *.dat
do
echo cp $fname orig_$fname
done

V zgornjem diagramu pretoka razlagamo pretok zanke, ki je iter po seznamu imen datotek in v toku so štirje koraki, kot so pretok procesa, spremenljiva vrednost, postopek in stdout. V toku postopka pojasnjuje, kdaj se zanka za for začne, vrednost iteratorja, preverja stanje, če izpolnjuje, nato zažene postopek, sicer postopek konča. V spremenljivi vrednosti, iteraciji z iteracijo bomo v njej dobili ime datoteke, kot je textfile.dat, med postopkom pa izvrši izjavo echo, kjer na stdout prikaže izjavo o kopiranju s starim imenom in novim imenom datoteke. Torej, to je zanka pretoka, ki se vrti po seznamu vhodnih imen.

Izhod:

Kako Loop deluje v Shell Scriptingu?

Skript v zanki v lupini deluje na naslednji način, kadar lupina vidi ključno besedo, saj ve, da mora enkrat ponoviti niz ukazov za vsak element na seznamu. Vsakič, ko se iteracija izvaja, je element na seznamu dodeljen spremenljivki var, var pa se obdela s seznamom ukazov, ki so prisotni v zanki med početjem in opravljenimi, preden se premaknete na naslednji element na seznamu ali naslednjo ponovitev. Do vrednosti do var bomo dostopali s pomočjo $ pred spremenljivko, tako da, ko skript lupine obdela, vrednost namesto nje zamenja nadomestnik.

Primer:

for filename in *.txt
do
ls filename
done

V zgornjem programu posredujemo seznam datotek .txt kot vhod v zanko for in ime spremenljivke je ime datoteke, v katero bo shranjena .txt datoteka in nato obdelamo ime datoteke, tako da v ime datoteke naštejemo datoteko .txt in nato isti postopek se bo ponavljal, dokler ne opravite vseh .txt datotek.

Izhod:

Primeri zanke

Do zdaj smo razpravljali o tem, kako zanka deluje v skriptu lupine in različnih sintaksah. Zdaj si oglejmo nekaj primerov in jih preučimo ter razložimo vsak primer, kaj počne

Primer # 1

Seznam statičnih vrednosti kot vnosa za zanko in kako se bo izvajal, bomo videli spodaj:

for a day in Fri Thu Wed Tue Mon
do
echo “Todays day is $day”
done

V zgornjem primeru ne bi smeli prenašati vhodnih vrednosti s, saj bo ločitev, če jo prenesemo, upoštevala, da je ločnica tudi vrednost, kot je »Pet«, in ne bi smeli naštevati vrednosti z dvojnimi narekovaji »če jih prenašamo z dvojnimi narekovaji, skript lupine bo vse vrednosti obravnaval kot eno samo vrednost.

Primer o / p: Današnji dan je: petek čet sreda pon. (Če uporabljamo dvojne citate)

Izhod:

Primer # 2

Zdaj pa si oglejmo še en primer, pri katerem uporabljamo pred za vhodni seznam, kot je spodaj:

Month = “Jan Feb Mar Apr May Jun”
for mon in $Month
do
echo “Month is $mon”
done

V zgornjem primeru naredimo enako izvedbo zanke kot zgornji primer, vendar bo namesto vnosa seznama vnosa opravljeno s ključno besedo "in". V skriptnih lupinah mora biti vsaka spremenljivka predstavljena z dvojnimi narekovaji, vendar je nekaj izjem, na primer, če za vrstico z zanko uporabljamo dvojne narekovaje v mesecu $ zgoraj, potem bo celotne besede obravnaval kot eno vrstico. Zato moramo poskrbeti za to.

Izhod:

Primer # 3

Zdaj bomo pisali za zanko brez vhodnega seznama v stavku for zanke, namesto tega pa bo vnašal iz pozicijskih argumentov v skript in primer, kot je spodaj:

Ime skripta navedite kot sample.sh in njeno vsebino, kot je spodaj:

for num
do
echo “Number is $num”
done
./sample.sh 1 2 3 4 5

V zgornjem primeru je vnos za zanko posredovan s seznama argumentov, ki se posredujejo skriptu, tako da bo za vsak argument obdelal vse ukaze in prikazal izhod, dokler se vsi argumenti ne ponovijo.

Izhod:

Zaključek - Za zanko v Shell Scripting

Končno gre za zanko v zapisu lupin. Razpravljali smo o tem, kaj je zanka v skriptanju lupine, za sintakso zanke, njen diagram poteka, ki razlaga tok za zanko, kako zanka deluje v lupini in primeri zanke v skriptu lupine. Upam, da boste dobro razumeli zanko, kako jo uporabiti v zapisu lupin in jo izvesti po branju tega članka.

Priporočeni članki

To je priročnik za zanko v Shell Scripting. Tukaj smo razpravljali o uvodu, kako zanka deluje v risanju lupin, diagramu pretoka in primeru zanke. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Zank v R
  2. Spark Dataframe SQL
  3. Večdimenzionalna baza podatkov
  4. Prednosti vizualizacije podatkov

Kategorija: