Översikt för Loop in Shell Scripting

För loop i Shell Scripting i detta, låt oss säga att om vi vill utföra en uppgift eller en operation repetitivt kan vi skriva samma kod de många gånger som är en tidskrävande uppgift och inte effektiv också. För att undvika dessa typer av scenarier kan vi använda slingor som för loop på ett programmeringsspråk. Så för loop används för att utföra en viss uppgift som tillägg / multiplikation eller någon annan operation under ett visst antal gånger tills avslutningsvillkoret uppfyllts i vilket operativsystem som helst. Vi behöver inte skriva samma kod om och om igen genom att använda för loop.

Syntax av för slinga

Syntaxen för for loop i shell-skript kan representeras på olika sätt som nedan:

1. Första syntaxmetoden

for var in list
do
command1
command2
done

Från exemplet ovan har vi fördefinierade nyckelord eller inbyggda nyckelord som för, gör, gjort och in. Listan är en lista med variabler eller en lista med ord eller en lista med siffror och var är ett variabelnamn under den iterationen. Om det inte finns någon lista kommer bash att ta en positionsparameter som vi har passerat i skalet. I ovanstående för loop kommer den att utföra alla kommandon som finns där mellan do och gjort för ett antal gånger där n är storleken på listan. Till exempel, om storleken på listan är 5 med siffror från 1 till 5, kommer under den första iterationen 1 att lagras i var och operationer på var kommer att utföras av kroppen på for loop där kommandon finns.

2. Andra syntaxmetoden

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

I syntaxen ovan, om vi observerar den här syntaxen liknar syntaxen för för loop i programmeringsspråket c. I för loop finns det tre uttryck där det första uttrycket är för initialisering, det andra är för villkorlig kontroll och det tredje är för att uppdatera iterator. Exekveringen ovan för loop kommer att starta så här, innan första iteration expr1 startas vilket innebär att initialisering kommer att göras efter än operationer / kommandon mellan do och gjort kommer att utföras iterativt tills expr2 utvärderas till sant och efter varje iteration expr3 uppdaterar iteratorvärde (räknare) så att operationer kommer att utföras på nästa element eller värde i listan eller arrayen eller strängen.

Flödesschema - För slinga i Shell Scripting

Låt oss överväga ett exempel på för loop och diskutera flödet av det med hjälp av flödesschemat.

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

I ovanstående flödesschema förklarar vi flödet för for loop som itererar över en lista över filnamn och det finns fyra steg i flödet, såsom processflöde, variabelt värde, process och stdout. I processflödet förklarar det när for-loopen startar, iteratorvärdet, kontrollerar villkoret om det uppfyller och kör processen annars slutar processen. I variabelt värde, iteration med iteration, kommer vi att få ett filnamn i det, t.ex. textfil.dat och under processen kör det ekoutdrag där det visar kopieringsmeddelande med ett gammalt filnamn och nytt filnamn på stdout. Så detta är flödet för for loop som iterates över listan med inmatade filnamn.

Produktion:

Hur fungerar Loop i Shell Scripting?

För loop in shell-skript fungerar på följande sätt när shell ser nyckelordet för det vet att det måste upprepa en uppsättning kommandon en gång för varje objekt i en lista. Varje gång iterationen körs tilldelas ett objekt i listan variabeln var och var bearbetas genom listan med kommandon som finns i slingan mellan att göra och göra exekveras innan du flyttar till nästa objekt i listan eller nästa iteration. Vi kommer åt värdet i var med $ före variabeln så att när shell script bearbetar det värdet i var ersätter i stället för det.

Exempel:

for filename in *.txt
do
ls filename
done

I ovanstående program skickar vi en lista över .txt-filer som inmatning till for-loopen och variabelns namn är ett filnamn där .txt-filen kommer att lagras och sedan bearbeta filnamnet genom att ange .txt-filen i filnamnet och sedan samma process kommer att upprepas tills alla .txt-filbehandlingen är klar.

Produktion:

Exempel på för loop

Hittills har vi diskuterat hur för loop fungerar i skalskript och olika syntaxer. Låt oss nu se några exempel och gå igenom dem och förklara varje exempel på vad det gör

Exempel 1

Låt oss en lista med statiska värden som inmatning till för loop och hur den kommer att utföras kommer att se enligt nedan:

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

I exemplet ovan ska vi inte skicka inmatningsvärden med, som avgränsare om vi passerar det kommer att betrakta avgränsare är också ett värde som "fre", och vi bör inte lista över värden med dubbla citat "om vi skickar dem med dubbla citat, shell-skript kommer att behandla alla värden som ett enda värde.

Ett exempel o / p: Dagens dag är: fre to ons ti mån (om vi använder dubbla citat)

Produktion:

Exempel 2

Låt oss nu se ett annat exempel där vi använder oss av för innan inmatningslistan som nedan:

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

I exemplet ovan gör vi samma exekvering av för loop som exemplet ovan, men istället för inmatningslistan kommer att läsas med "in" nyckelord. I skalskript måste alla variabler representeras i dubbelcitationstecken, men det finns få undantag, till exempel om vi använder dubbla citat i $ månad ovan för slingraden, kommer det att behandla hela ord som en enda rad. Så vi måste ta hand om det.

Produktion:

Exempel 3

Nu kommer vi att skriva för loop utan inmatningslista i för loop-uttalandet istället kommer det att ta input från positionsargument till skriptet och exemplet som nedan:

Låt oss skala skriptnamn som sample.sh och dess innehåll som nedan:

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

I exemplet ovan överförs input till for loop från listan med argument som tillhandahålls till skriptet så att det för varje argument kommer att behandla alla kommandon och visa utdata tills alla argument itereras.

Produktion:

Slutsats - För slinga i Shell Scripting

Slutligen handlar det om loop i shell-skript. Vi har diskuterat vad som är för loop i shell scripting, för loop syntax, dess flödesschema som förklarar flödet för for loop, hur loop fungerar i skal och exempel på loop i shell scripting. Jag hoppas att du kommer att ha en god förståelse för slingan, hur du använder den i skalskript och utför den efter att du har läst den här artikeln.

Rekommenderade artiklar

Detta är en guide till For loop i Shell Scripting. Här diskuterar vi introduktionen, How for loop fungerar i shell scripting, Flow Diagram och Exempel på for loop. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Öglor i R
  2. Spark SQL Dataframe
  3. Flerdimensionell databas
  4. Fördelarna med datavisualisering

Kategori: