Looping statements i Shell Scripting: Det er totalt 3 looping-setninger som kan brukes i bash-programmering
Innholdsfortegnelse
- `while`-setning i Shell Script i Linux
- `for`-setning i Shell Script i Linux
- `inntil`-setning i Shell Script i Linux
- Eksempler på Looping Statements
For å endre flyten av loop-setninger, brukes to kommandoer de er,
- gå i stykker
- Fortsette
Deres beskrivelser og syntaks er som følger:
`while`-setning i Shell Script i Linux
Her blir kommandoen evaluert og basert på den resulterende sløyfen vil den utføres, hvis kommandoen heves til usann, vil løkken bli avsluttet at.
#/bin/bash while do done>
Implementering av 'While' Loop in Shell Script.
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim looping.sh>
Du kan erstatte looping.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x looping.sh>
#/bin/bash
a=0
# Det er mindre enn operatoren
#Iterer løkken til en mindre enn 10
mens [ $a -lt 10 ]
gjøre
# Skriv ut verdiene
ekko $a
# øke verdien
a=`uttr $a + 1`
ferdig
Produksjon:

Mens Loop i Linux
Forklaring:
-
#/bin/bash>: Spesifiserer at skriptet skal tolkes med Bash-skallet. -
a=0>: Initialiserer en variabela>med verdien 0. -
while [ $a -lt 10 ]>: Starter en while-løkke som fortsetter så lenge som verdiena>er mindre enn 10. -
do>: Markerer begynnelsen av løkkens kropp. -
echo $a>: Skriver ut gjeldende verdi ava>konsollen. -
a=>uttr $a + 1 : Øker verdien ava>av 1. Denexpr>kommandoen brukes til aritmetiske uttrykk. -
done>: Markerer slutten av løkken.
`for`-setning i Shell Script i Linux
For-løkken opererer på lister over elementer. Den gjentar et sett med kommandoer for hvert element i en liste.
Her er var navnet på en variabel og ord1 til ordN er sekvenser av tegn atskilt med mellomrom (ord). Hver gang for-løkken kjøres, settes verdien til variabelen var til neste ord i listen over ord, ord1 til ordN.
Syntaks:
#/bin/bash for in do done>
Implementering av 'for' Loop med 'break'-setning i Shell Script.
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim for.sh>
Du kan erstatte for.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x for.sh>
#/bin/bash
#Start av for loop
for en i 1 2 3 4 5 6 7 8 9 10
gjøre# hvis a er lik 5, bryt sløyfen
hvis [ $a == 5 ]
deretter
gå i stykker
være# Skriv ut verdien
ekko Iterasjon nr $a
ferdig
Produksjon:

Break statement for Loop in linux
Forklaring:
#/bin/bash>: Spesifiserer at skriptet skal tolkes med Bash-skallet.for a in 1 2 3 4 5 6 7 8 9 10>: Starter en for-løkke som itererer over verdiene 1 til 10, og tildeler hver verdi til variabelena>i hver iterasjon.do>: Markerer begynnelsen av løkkens kropp.if [ $a == 5 ]>: Sjekker om gjeldende verdia>er lik 5.then>: Markerer begynnelsen av den betingede blokken som skal utføres hvis betingelsen er sann.break>: Går ut av loopen hvis betingelsen er sann.
fi>: Markerer slutten på den betingede blokken.
echo 'Iteration no $a'>: Skriver ut en melding som angir gjeldende iterasjonsnummer.done>: Markerer slutten av løkken.
Skriptet setter opp en for-løkke som itererer over verdiene 1 til 10. Under hver iterasjon sjekker det om verdiena>er lik 5. Hvis det er det, avsluttes løkken ved å brukebreak>uttalelse. Ellers skriver den ut en melding som angir gjeldende iterasjonsnummer. Løkken fortsetter til den fullfører alle iterasjoner eller til den støter på en break-setning.
Implementering av `for` Loop med `continue`-setning i Shell Script.
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim for_continue.sh>
Du kan erstatte for_continue.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x for_continue.sh>
#/bin/bash
for en i 1 2 3 4 5 6 7 8 9 10
gjøre# hvis a = 5, fortsett sløyfen og
# ikke flytt til linje 8hvis [ $a == 5 ]
deretter
Fortsette
være
ekko Iterasjon nr $a
ferdig
Produksjon:

fortsett uttalelse i for loop i Linux
Forklaring:
-
#/bin/bash>: Spesifiserer at skriptet skal tolkes med Bash-skallet. -
for a in 1 2 3 4 5 6 7 8 9 10>: Starter en for-løkke som itererer over verdiene 1 til 10, og tildeler hver verdi til variabelena>i hver iterasjon. -
do>: Markerer begynnelsen av løkkens kropp. -
if [ $a == 5 ]>: Sjekker om gjeldende verdia>er lik 5.-
then>: Markerer begynnelsen av den betingede blokken som skal utføres hvis betingelsen er sann.-
continue>: Hopper over resten av løkkens kropp og går til neste iterasjon hvis betingelsen er sann.
-
-
fi>: Markerer slutten av den betingede blokken.
-
-
echo 'Iteration no $a'>: Skriver ut en melding som angir gjeldende iterasjonsnummer. Denne linjen hoppes over hvisa>er lik 5 på grunn avcontinue>uttalelse. -
done>: Markerer slutten av løkken.
Skriptet setter opp en for-løkke som itererer over verdiene 1 til 10. Under hver iterasjon sjekker det om verdiena>er lik 5. Hvis det er det, fortsetter løkken til neste iterasjon uten å utføre de resterende setningene i løkkens kropp. Ellers skriver den ut en melding som angir gjeldende iterasjonsnummer. Løkken fortsetter til den fullfører alle iterasjoner.
`inntil`-setning i Shell Script i Linux
Inntil-løkken utføres så mange ganger som betingelsen/kommandoen evalueres til falsk. Sløyfen avsluttes når betingelsen/kommandoen blir sann.
Syntaks:
#/bin/bash until do done>
Implementering av 'til' Loop i Shell Scrip
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim until.sh>
Du kan erstatte frem til. sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt er større enn operatoren
#Iterer løkken til a er større enn 10til [$a -gt 10]
gjøre# Skriv ut verdiene
ekko $aalfabetet nummerert# øke verdien
a=`uttr $a + 1`
ferdig
Produksjon:

Inntil loop i Linux
Forklaring:
-
#/bin/bash>: Spesifiserer at skriptet skal tolkes med Bash-skallet. -
a=0>: Initialiserer en variabela>med verdien 0. -
until [ $a -gt 10 ]>: Starter en inntil-løkke som fortsetter så lenge som verdiena>er ikke større enn 10. -
do>: Markerer begynnelsen av løkkens kropp. -
echo $a>: Skriver ut gjeldende verdi ava>konsollen. -
a=>uttr $a + 1 : Øker verdien ava>av 1. Denexpr>kommandoen brukes til aritmetiske uttrykk. -
done>: Markerer slutten av løkken.
Merk: Shell-skripting er et språk som skiller mellom store og små bokstaver, noe som betyr at riktig syntaks må følges mens du skriver skriptene.
Eksempler på Looping Statements
1. Iterering over farger ved hjelp av en For-løkke
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim color.sh>
Du kan erstatte color.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x color.sh>
#/bin/bash
FARGER=rød grønn blå
# for-løkken fortsetter til den leser alle verdiene fra FARGER
for COLOR i $COLORS
gjøre
echo COLOR: $COLOR
ferdig
Produksjon:

For inntil i Linux
Forklaring:
- Initialisering av farger:
COLORS='red green blue'>: Initialiserer en variabel med navnCOLORS>med en mellomromseparert liste over fargeverdier (rød, grønn og blå).
- For loop-iterasjon:
for COLOR in $COLORS>: Starter en for-løkke som itererer over hver verdi iCOLORS>variabel.- Løkkekropp:
echo 'COLOR: $COLOR'>: Skriver ut en melding for hver farge som viser gjeldende fargeverdi.
- Løkkekropp:
- Løkken fortsetter til den behandler alle verdiene som finnes i
COLORS>variabel.
Dette eksemplet demonstrerer en enkel for loop i Bash, og itererer over en liste over farger som er lagret iCOLORS>variabel. Sløyfen skriver ut en melding for hver farge, som indikerer den gjeldende fargen som behandles. Løkken itererer til alle fargeverdier er oppbrukt.
2. Opprette en uendelig sløyfe med mens sant i Shell Script
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim infinite.sh>
Du kan erstatte infinite.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x infinite.sh>
#/bin/bash
mens det er sant
gjøre# Kommando som skal utføres
# søvn 1 indikerer at den sover i 1 sek
echo Hei, jeg er infinity loop
sove 1
ferdig
Produksjon:

uendelig loop i linux
Forklaring:
Uendelig sløyfestruktur:
while true>: Starter en while-løkke som fortsetter i det uendelige som betingelsentrue>er alltid sant.- Løkkekropp:
echo 'Hi, I am infinity loop'>: Skriver ut en melding som indikerer at skriptet er i en uendelig sløyfe.sleep 1>: Pauser utførelsen av loopen i 1 sekund før neste iterasjon.
- Løkkekropp:
- Sløyfen fortsetter på ubestemt tid, og utfører kommandoene i kroppen gjentatte ganger.
Dette eksemplet viser frem etableringen av en uendelig løkke ved å bruke while true-konstruksjonen i Bash. Sløyfen skriver kontinuerlig ut en melding som indikerer statusen som en uendelig sløyfe og inkluderer en dvale 1-kommando, noe som forårsaker en forsinkelse på ett sekund mellom iterasjonene. Uendelige sløyfer brukes ofte til prosesser som må kjøres kontinuerlig til de blir manuelt avbrutt.
3. Interaktiv navnebekreftelsesløkke
Først lager vi en fil ved hjelp av et tekstredigeringsprogram i Linux. I dette tilfellet bruker vi `vim`editor.
vim name.sh>
Du kan erstatte name.sh med ønsket navn.
Deretter gjør vi skriptet vårt kjørbart ved å bruke `chmod`-kommandoen i Linux.
chmod +x name.sh>
#/bin/bash
RIKTIG=n
mens [ $CORRECT == n ]
gjøre# loop avbrytes når du skriver inn y, dvs. når navnet ditt er riktig
# -p står for spørsmål som ber om inndatales -p Skriv inn navnet ditt: NAVN
les -p Er ${NAME} riktig? RIKTIG
ferdig
Produksjon:

Interaktivt skript i Linux
Forklaring:
- Initialisering:
CORRECT=n>: Initialiserer en variabel med navnCORRECT>med verdien n. Denne variabelen brukes til å kontrollere loopen.
- Interaktiv sløyfe:
while [ '$CORRECT' == 'n' ]>: Starter en while-løkke som fortsetter så lenge verdien avCORRECT>er lik n.- Løkkekropp:
read -p 'Enter your name:' NAME>: Ber brukeren om å skrive inn navnet sitt og lagrer inndataene iNAME>variabel.read -p 'Is ${NAME} correct? ' CORRECT>: Ber brukeren bekrefte om det angitte navnet er riktig og oppdatererCORRECT>variabel tilsvarende.
- Løkkekropp:
- Løkken fortsetter til brukeren skriver inn y (som indikerer riktig navn).
Dette eksemplet viser en interaktiv loop som ber brukeren om å skrive inn navnet sitt og deretter ber om bekreftelse. Sløyfen fortsetter til brukeren bekrefter at det angitte navnet er riktig ved å skrive inn y. Sløyfen bruker ` read> `>kommando for brukerinndata og oppdaterer ` CORRECT> `>variabel for å kontrollere sløyfestrømmen.
Konklusjon
I denne artikkelen diskuterte vi looping statements i Bash scripting, coveringwhile>,for>, oguntil>løkker. Den introduserer bruken avbreak>ogcontinue>uttalelser for å endre løkkeoppførsel. Praktiske eksempler illustrerer implementeringen av looper, inkludert iterasjon over fargeverdier, opprettelse av uendelige looper og bygging av en interaktiv loop for validering av brukerinndata. Veiledningen tilbyr en kortfattet, men likevel informativ ressurs for å forstå og bruke looping-konstruksjoner i Bash-skripting.