Looping er en iboende kunst, som kan gøre dit arbejde enklere og hjælpe dig med at automatisere gentagne opgaver med relativ lethed.
Forestil dig en situation, hvor du skal opdatere en række tal eller tekst, og i stedet for at gøre det manuelt, får du systemet til at gøre det for dig. Dette er kraften ved looping og de fordele, det bringer til bordet for dig.
Loops, som en funktion, er tilgængelige i næsten alle programmeringssprog; Linux's Bash er ingen undtagelse fra denne regel.
Her er en guide, der forklarer, hvordan du kan bruge for-løkken i et shell-script.
For Loop Struktur
At bruge for loop in shell-scripts er rimeligt ligetil, og du kan manipulere strukturen for at opnå forskellige mål.
Den grundlæggende struktur er som følger:
for element i [LIST]
gør
[KOMMANDOER]
Færdig
Med en loop kan du bladre gennem numeriske og tegnværdier, afhængigt af timens behov.
Relaterede:Sådan bruges loops i JavaScript
Her er strukturen af en for-løkke i et shell-script:
for VARIABEL i 1 2 3 4 5.. N
gør
kommando 1
kommando 2
kommandoN
Færdig
Du kan definere antallet af iterationer i den første linje. På denne måde vil du nævne startværdien og slutværdien.
Antallet af iterationer bestemmes af de værdier, du angiver, mens koden efter gør statement er den resulterende sløjfeværdi.
Oprettelse og kørsel for loops i Linux Bash
Åbn Linux-terminalen for at begynde at skrive kode.
En teksteditor bruges til at gemme shell-scriptet, som udskriver de ønskede resultater, når det udføres. Til illustrationsformål er kommandoerne i denne vejledning skrevet i Nano tekst editor.
Type nano i terminalens kommandolinje for at åbne teksteditoren, efterfulgt af shell-scriptnavnet.
nano ForLoops.sh
Du kan ændre navnet på shell-scriptet til hvad du vil. Udvidelsen er sh, da du vil gemme et shell-script.
Udskriv heltal ved brug af sløjfer
I dette afsnit vil de følgende koder demonstrere, hvordan du kan udskrive heltalsværdier anderledes. For at bruge en for-løkke i et shell-script til at udskrive heltal, kan du prøve nogle af disse kodeeksempler.
1. Loop-kode for at udskrive et sæt tal
Når editoren åbner, er det tid til at skrive koden.
#!/usr/bin/bash
for i i 1 2 3
gør
ekko "Aktuel # $i"
Færdig
Produktion:
Hvor:
- jeg = variabelnavn for at gemme de itererede værdier
- 1 2 3 = antal gange for-løkken i shell-scriptet itererer
- gør = kommando til at udføre et bestemt sæt handlinger
- ekko = udskriv de definerede resultater ved siden af
- Færdig = slutningen af løkken
Gem koden i teksteditoren ved at trykke på Ctrl + X. Gem og afslut scriptet.
Relaterede: Sådan bruges For, While og Do While Loops i Java med eksempler
Før du udfører koden, skal du ændre shell-scriptets tilladelser.
Gå ind chmod +x efterfulgt af dit shell script filnavn:
chmod +x Forloops.sh
Når tilladelserne er givet, skal du køre for-løkken i dit shell-script ved at indtaste følgende:
./Forloops.sh
Outputtet udskrives i terminalvinduet.
2. Alternativ måde at udskrive et sæt tal på
Der er alternative måder at definere en for-løkke i et shell-script. Du kan også angive start- og slutværdien for loopens iterationer ved hjælp af krøllede parenteser.
Her er kodestrukturen:
for i i {1..3} # a for loop definerer en variabel og hvor mange iterationer du vil lave gennem en loop
gør
ekko "Nuværende # $i: Eksempel 2"
Færdig
Sløjfen vil køre tre gange, og værdierne vil blive udskrevet på følgende måde:
3. Sløjfekode ved hjælp af trinværdier
Du kan definere trinværdierne i din loop, hvis du vil bevæge dig non-sekventielt gennem iterationerne. Afhængigt af den angivne værdi vil output have et fast mellemrum.
For eksempel:
for i i {1..10..2}
gør
ekko "Nummer = $i"
Færdig
Hvor:
- jeg = variabel for at gemme iterationerne
- 1..10 = antal iterationer for at køre løkken
- 2 = trinværdi
- gør = kommando til at udskrive output
- ekko = print kommando
- Færdig = exit-kommando for løkken
Produktion:
Outputtet har en forskel på to, som blev specificeret i step-sætningen.
Udskriv tegnværdier ved brug af loops
For loops i shell er scripting ikke begrænset til kun heltal. I Bash kan du bruge en for-løkke til effektivt at iterere gennem tegn og strengværdier.
1. Looping gennem strenge
Her er et grundlæggende eksempel på, hvordan du kan gå gennem nogle strengværdier (defineret i for-sætningen):
for navn i John Jack Mary
gør
ekko "Mit navn er $navn"
Færdig
Hvor:
- navn = variabel for at gemme strengværdierne
- gør = kommando til at udskrive output
- ekko = print kommando
- Færdig = exit-kommando for løkken
Produktion:
Dette for loop vil gentage tre gange, som der kun er tre strengværdier angivet i til udmelding.
2. Looping gennem strenge med betingelser
Hvad hvis du vil passere nogle logiske betingelser for at afslutte løkken midtvejs? Til dette formål kan du bruge logiske udsagn som f.eks HVIS udmelding. IF-sætningen styrer, hvordan løkken fungerer, og hvilket output, der udskrives som et resultat.
for grundstof i Hydrogen Helium Lithium Beryllium; gør
if [[ "$element" == 'Lithium' ]]; derefter
pause
fi
echo "Element: $element"
Færdig
echo 'All Done!'
Relaterede:Sådan bruger du løkker med lister i PythonSå snart elementets værdi er lig med Lithium, afsluttes løkken, og outputtet udskrives. Sløjfen løber indtil betingelsen ikke længere er opfyldt.
Da lithium er tredje på listen over værdier, vil loopet køre i to iterationer, før det udskriver det endelige output Helt færdig!.
Kører loops i Linux Bash
Sløjfer er en væsentlig del af Linux-skalstrukturen, som i høj grad kan forbedre funktionen af Linux-scripts.
Hvis du skal udskrive gentagne output, er der intet bedre end loops i Bash-scripts. Som vi nævnte tidligere, er loops tilgængelige i næsten alle programmeringssprog, og Python er ingen undtagelse. Klip gentagelser ud og lev efter DRY (Don't Repeat Yourself) koden.
For Loops er en vigtig programmeringsevne. Lær hvordan du bruger dem i Python her.
Læs Næste
- Programmering
- Linux
- Linux
- Linux Bash Shell
- Programmering
Gaurav Siyal har to års skriveerfaring og har skrevet for en række digitale marketingfirmaer og softwarelivscyklusdokumenter.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere