Looping är en inneboende konst som kan göra ditt arbete enklare och hjälpa dig att automatisera repetitiva uppgifter med relativ lätthet.
Föreställ dig en situation där du behöver uppdatera en serie siffror eller text, och istället för att göra det manuellt låter du systemet göra det åt dig. Det här är kraften i looping och fördelarna det ger dig på bordet.
Slingor, som en funktion, finns tillgängliga i nästan alla programmeringsspråk; Linux's Bash är inget undantag från denna regel.
Här är en guide som förklarar hur du kan använda for-loopen i ett skal-skript.
Den för loop struktur
Att använda for loop in shell-skript är ganska okomplicerat, och du kan manipulera strukturen för att uppnå olika mål.
Den grundläggande strukturen är som följer:
för objekt i [LISTA]
do
[KOMMANDO]
Gjort
Med en loop kan du bläddra igenom numeriska och teckenvärden, beroende på behovet av timmen.
Relaterad:Hur man använder loopar i JavaScript
Här är strukturen för en for-loop i ett skal-skript:
för VARIABEL i 1 2 3 4 5.. N
do
kommando1
kommando2
kommandoN
Gjort
Du kan definiera antalet iterationer på den första raden. På så sätt kommer du att nämna startvärdet och slutvärdet.
Antalet iterationer bestäms av de värden du anger, medan koden efter do statement är det resulterande loopvärdet.
Skapa och köra för loopar i Linux Bash
Öppna Linux-terminalen för att börja skriva kod.
En textredigerare används för att lagra skalskriptet, som skriver ut de önskade resultaten när det körs. För illustrationsändamål är kommandona i den här guiden skrivna i Nano textredigerare.
Typ nano i terminalens kommandorad för att öppna textredigeraren, följt av skalskriptnamnet.
nano ForLoops.sh
Du kan ändra namnet på skalskriptet till vad du vill. Förlängningen är sh, eftersom du kommer att lagra ett skalskript.
Skriv ut heltal med för loopar
I det här avsnittet kommer följande koder att visa hur du kan skriva ut heltalsvärden på olika sätt. För att använda en for-loop i ett skalskript för att skriva ut heltal kan du prova några av dessa kodexempel.
1. Slingkod för att skriva ut en uppsättning nummer
När editorn öppnas är det dags att skriva koden.
#!/usr/bin/bash
för i i 1 2 3
do
eko "Nuvarande # $i"
Gjort
Produktion:
Var:
- i = variabelnamn för att lagra de itererade värdena
- 1 2 3 = antal gånger for-loopen i skal-skriptet itererar
- do = kommando för att utföra en viss uppsättning åtgärder
- eko = skriv ut resultaten som definierats bredvid
- Gjort = slutet av slingan
Spara koden i textredigeraren genom att trycka på Ctrl + X. Spara och avsluta skriptet.
Relaterad: Hur man använder For, While och Do While Loops i Java med exempel
Innan du kör koden måste du ändra skalskriptets behörigheter.
Stiga på chmod +x följt av ditt skalskriptfilnamn:
chmod +x Forloops.sh
När behörigheterna har beviljats kör du for-loopen i ditt skalskript genom att skriva in följande:
./Forloops.sh
Utdata skrivs ut i terminalfönstret.
2. Alternativt sätt att skriva ut en uppsättning siffror
Det finns alternativa sätt att definiera en for-loop i ett skalskript. Du kan också ange start- och slutvärdet för slingans iterationer med hjälp av parenteser.
Här är kodstrukturen:
for i i {1..3} # a for loop definierar en variabel och hur många iterationer du vill göra genom en loop
do
echo "Nuvarande # $i: Exempel 2"
Gjort
Slingan kommer att köras tre gånger och värdena skrivs ut på följande sätt:
3. Slingkod som använder stegvärden
Du kan definiera stegvärdena i din loop om du vill flytta oavbrutet genom iterationerna. Beroende på det angivna värdet kommer utgången att ha ett fast gap.
Till exempel:
för jag i {1..10..2}
do
eko "Nummer = $i"
Gjort
Var:
- i = variabel för att lagra iterationerna
- 1..10 = antal iterationer för att köra slingan
- 2 = stegvärde
- do = kommando för att skriva ut utdata
- eko = skriva ut kommando
- Gjort = exit-kommando för slingan
Produktion:
Utdata har en skillnad på två, vilket specificerades i stegsatsen.
Skriv ut teckenvärden med för loopar
För loopar i skal är skript inte begränsat till bara heltal. I Bash kan du använda en for-loop för att effektivt iterera genom tecken och strängvärden.
1. Slingor genom strängar
Här är ett grundläggande exempel på hur du kan gå igenom vissa strängvärden (definierade i for-satsen):
för namn i John Jack Mary
do
echo "Mitt namn är $name"
Gjort
Var:
- namn = variabel för att lagra strängvärdena
- do = kommando för att skriva ut utdata
- eko = skriva ut kommando
- Gjort = exit-kommando för slingan
Produktion:
Detta för loop kommer att upprepas tre gånger, eftersom det bara finns tre strängvärden som anges i för påstående.
2. Slinga genom strängar med villkor
Vad händer om du vill passera några logiska villkor för att avsluta slingan halvvägs? För detta ändamål kan du använda logiska uttalanden som t.ex OM påstående. IF-satsen styr hur slingan kommer att fungera och vilken utdata som kommer att skrivas ut som ett resultat.
för grundämne i Hydrogen Helium Litium Beryllium; do
if [[ "$element" == 'Lithium' ]]; sedan
ha sönder
fi
echo "Element: $element"
Gjort
echo "Allt klart!"
Relaterad:Hur man använder loopar med listor i PythonSå snart elementets värde är lika med litium, avslutas slingan och utmatningen skrivs ut. Slingan löper tills villkoret inte längre är uppfyllt.
Eftersom litium är tredje i värdelistan kommer loopen att köras i två iterationer innan den skriver ut den slutliga utdata Klart!.
Kör loopar i Linux Bash
Slingor är en viktig del av Linux-skalstrukturen, vilket avsevärt kan förbättra funktionen hos Linux-skript.
Om du måste skriva ut repetitiva utdata finns det inget bättre än loopar i Bash-skript. Som vi nämnde tidigare är loopar tillgängliga i nästan alla programmeringsspråk, och Python är inget undantag. Klipp ut upprepningar och lev efter DRY (Don't Repeat Yourself)-koden.
För Loops är en viktig programmeringsförmåga. Lär dig hur du använder dem i Python här.
Läs Nästa
- Programmering
- Linux
- Linux
- Linux Bash Shell
- Programmering
Gaurav Siyal har två års erfarenhet av att skriva, skriva för en rad digitala marknadsföringsföretag och programvarulivscykeldokument.
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera