Oversikt for Loop in Shell Scripting

For sløyfe i Shell Scripting i dette, la oss si at hvis vi vil utføre en oppgave eller en operasjon repetitivt, kan vi skrive den samme koden de mange antall ganger, som er en tidkrevende oppgave og ikke effektiv også. For å unngå denne typen scenarier, kan vi bruke looper som for loop på et programmeringsspråk. Så for loop brukes til å utføre en bestemt oppgave som addisjon / multiplikasjon eller hvilken som helst annen operasjon i et visst antall ganger til termineringstilstanden oppfylt i ethvert operativsystem. Vi trenger ikke å skrive den samme koden igjen og igjen ved å bruke for loop.

Syntaks for for loop

Syntaksen for for loop i shell-scripting kan representeres på forskjellige måter som nedenfor:

1. Første syntaksmetode

for var in list
do
command1
command2
done

Fra eksemplet ovenfor har vi forhåndsdefinerte nøkkelord eller innebygde nøkkelord som for, gjør, gjøres og i. Mens liste er en liste med variabler eller en liste med ord eller en liste med tall, og var er et variabelnavn under den iterasjonen. Hvis en liste ikke er gitt, vil bash ta en posisjonsparameter som vi har sendt i skallet. I ovennevnte for loop vil den utføre alle kommandoene som er der mellom gjør og gjort i n antall ganger der n er størrelsen på listen. For eksempel, hvis størrelsen på listen er 5 med tall fra 1 til 5, vil under den første iterasjonen 1 lagres i var, og operasjoner på var vil bli utført av kroppen til for-loopen der kommandoer er der.

2. Andre syntaksmetode

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

I syntaksen ovenfor, hvis vi observerer, er denne syntaks lik syntaksen for for loop i programmeringsspråket c. I for loop er det tre uttrykk der det første uttrykket er for initialisering, det andre er for betinget sjekk og det tredje er for å oppdatere iterator. Utførelsen ovenfor for loop vil starte slik, før start av første iterasjon expr1 blir utført, noe som betyr at initialisering vil bli utført etter at operasjoner / kommandoer mellom do og done vil bli utført iterativt til expr2 evalueres til sann og etter hver iterasjon expr3 oppdaterer iteratorverdi (teller) slik at operasjoner blir utført på neste element eller verdi i listen eller array eller streng.

Flow Diagram - For loop i Shell Scripting

La oss vurdere et eksempel på for loop og diskutere strømmen av det ved hjelp av flytskjemaet.

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

I flytskjemaet over forklarer vi strømmen for for loop som itererer over en liste over filnavn, og det er fire trinn i flyten som prosessflyt, variabel verdi, prosess og stdout. I prosessflyten forklares det når for-loop starter, iteratorverdi, sjekker tilstanden hvis tilfredsstiller og kjører prosessen ellers avslutter prosessen. I variabel verdi, iterasjon etter iterasjon, vil vi få et filnavn i det, for eksempel textfile.dat, og under prosessen kjører det ekkouttalelse der det viser kopieringsuttalelse med et gammelt filnavn og nytt filnavn på stdout. Så dette er flyten for for loop som iterates over listen over inndatafiler.

Produksjon:

Hvordan fungerer Loop i Shell Scripting?

For loop in shell-skript fungerer på følgende måte når shell ser nøkkelordet for det vet at det trenger å gjenta et sett med kommandoer en gang for hvert element i en liste. Hver gang iterasjonen kjøres blir et element i listen tilordnet variabelen var og var behandles gjennom listen over kommandoer som er til stede i løkken mellom å gjøre og gjort, blir utført før du går over til neste element i listen eller neste iterasjon. Vi får tilgang til verdien i var ved å bruke $ før variabelen, slik at når shell script behandler den, erstatter verdien i varen i stedet for den.

Eksempel:

for filename in *.txt
do
ls filename
done

I ovennevnte program passerer vi en liste over .txt-filer som input til for-loopen, og variabelnavnet er et filnavn der .txt-filen vil lagre og deretter behandle filnavnet ved å liste opp .txt-filen i filnavnet og deretter den samme prosessen vil gjenta seg til all .txt-filbehandlingen er utført.

Produksjon:

Eksempler på for loop

Så langt har vi diskutert hvordan loop fungerer i shell script og forskjellige syntaks. La oss se noen få eksempler og gå gjennom dem og forklare hvert eksempel på hva det gjør

Eksempel 1

La oss en liste over statiske verdier som input til for loop og hvordan den skal utføres vil se som nedenfor:

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

I eksemplet over skal vi ikke sende inndataverdier med, som avgrenser hvis vi passerer det vil anse at avgrenser også er en verdi som “fre”, og vi skal ikke liste over verdier som bruker doble anførselstegn “hvis vi gir dem med doble anførselstegn, shell script vil behandle alle verdier som en enkelt verdi.

Et eksempel o / p: Dag i dag er: fre. Ons. Ons. Man. (Hvis vi bruker doble anførselstegn)

Produksjon:

Eksempel 2

La oss nå se et annet eksempel der vi bruker med før inngangslisten som nedenfor:

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

I eksemplet over gjør vi den samme utførelsen av for loop som eksemplet ovenfor, men i stedet for innleveringsliste vil lesing bli gjort ved å bruke "in" søkeord. I shell-scripting trenger alle variabler å være representert i dobbelt sitater, men det er få unntak, for eksempel om vi bruker doble anførselstegn i $ måned over for loop-linje, så vil den behandle hele ord som en enkelt linje. Så vi må ta vare på det.

Produksjon:

Eksempel 3

Nå vil vi skrive for loop uten inntastingsliste i for loop-setningen, i stedet vil det ta innspill fra posisjonsargumenter til skriptet og eksemplet som nedenfor:

La oss shell skriptnavn som sample.sh og innholdet som nedenfor:

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

I eksemplet over sendes input til for loop fra listen over argumenter som er levert til skriptet, slik at det for hvert argument behandler alle kommandoene og viser utdata til alle argumenter iterert.

Produksjon:

Konklusjon - For loop i Shell Scripting

Endelig handler det om looping i shell-scripting. Vi har diskutert hva som er for loop i shell scripting, for loop syntax, flytdiagram der det forklarer flyt for for loop, hvordan for loop fungerer i shell og eksempler på for loop i shell scripting. Jeg håper du vil ha en god forståelse av loopen, hvordan du bruker den i shell-scripting og utfører den etter å ha lest denne artikkelen.

Anbefalte artikler

Dette er en guide til For loop i Shell Scripting. Her diskuterer vi introduksjonen, How for loop works in shell scripting, Flow Diagram and Example of for loop. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

  1. Looper i R
  2. Spark SQL Dataframe
  3. Flerdimensjonal database
  4. Fordeler med datavisualisering

Kategori: