Denne opplæringen vil se på løkker, et grunnleggende konsept innen skripting og programmering generelt. Vi vil spesielt fokusere på hvordan for løkker fungerer.
For Loops grunnleggende struktur
Før vi skriver eksempler for løkker, la oss diskutere strukturen. For løkker adopterer den generelle syntaksen:
til- i
gjøre
Ferdig
Du kan passere listen over elementer som en matrise, en serie strenglitteraler (atskilt med mellomrom), eller en rekke tall.
La oss nå vurdere noen få eksempler og illustrere hvordan for løkker fungerer.
Eksempel 1
Tenk på eksemplet som er vist nedenfor. Vi sløyfe over en liste over strengverdier og skriver ut gjeldende streng i løkken.
#!/usr/bin/zsh
til drikke i vannkaffe -vin
gjøre
ekko "drikke: $ drink"
Ferdig
Når du har kjørt skriptet, bør du se hvert element i listen skrevet ut, som vist i eksemplet nedenfor:
$ ./til.sh
Drikk: Vann
Drikk te
Drikke kaffe
Drikk vin
Eksempel 2
Du kan også spesifisere listeverdien i for -loopen som en sekvens av tall. Du gjør dette ved å sette opp start- og sluttverdiene. Syntaksen er under:
Start ... slutt
Ta eksemplet for sløyfe nedenfor for å sløyfe verdier 10 ganger.
#!/usr/bin/zsh
for jeg i 1… 10
gjøre
ekko "nummer: $ i"
Ferdig
Du bør få alle tallene mellom 1 og 10 trykt til terminalen.
Nummer: 1
Nummer 2
..
Nummer: 8
Nummer: 9
Nummer: 10
Eksempel 3
I noen tilfeller, når du bruker antallet av tall, må du hoppe over verdiene med et spesifikt intervall. For å skrive ut de jevnt tallene mellom 10 og 20, må du for eksempel bruke et intervall på 2.
Du kan gjøre dette ved å spesifisere økningen som det tredje argumentet for antall varierende.
Syntaksen er:
Start ... slutt ... økning
Nedenfor er et eksempelkode:
#!/usr/bin/zsh
for jeg i 10… 20… 2
gjøre
ekko "nummer: $ i"
Ferdig
Eksempelkoden ovenfor skal skrive ut alle jevnt tall mellom 10 og 20. Nedenfor er et eksempelutgang:
Nummer: 10
Nummer: 12
..
Nummer: 20
Eksempel 4
En annen vanlig brukssak for en for loop er å iterere over en rekke varer. Tenk på eksemplet som er vist nedenfor:
#!/usr/bin/zsh
Databaser = ('mysql' 'PostgreSql' 'MongoDB' 'Redis' 'Fauna' 'Cockroach DB')
for db i "$ databaser [@]"; gjør
ekko "Database: $ db"
Ferdig
Ovennevnte for loop vil iterere hvert element i matrisen og skrive ut det.
Database: MySQL
Database: PostgreSql
..
Database: Fauna
Database: kakerlakk DB
Bryt og fortsett uttalelser
Du kan også bruke pausen og fortsette nøkkelord for å kontrollere strømmen av løkken inne i et ZSH -skript.
La oss begynne med Break -nøkkelordet.
Bryt nøkkelord
Du kan bruke nøkkelordet til å avslutte den gjeldende sløyfestrømmen og gi kontrollen til følgende blokkering. Hovedbruken av dette er å avslutte sløyfestrømmen hvis en spesifikk tilstand er sann.
For eksempel:
#!/usr/bin/zsh
For DB i MySQL PostgreSql MongoDB Redis Fauna kakerlakk; gjør
if [["$ db" == 'mongodb']]; deretter
gå i stykker
fi
ekko "Database: $ db"
Ferdig
I eksemplet over sløyfes vi over varen og bryter sløyfestrømmen hvis den nåværende varen er MongoDB.
Her er et eksempelutgang:
Database: MySQL
Database: PostgreSql
Fortsett nøkkelord
På den annen side kommer fortsatt nøkkelordet til den nåværende sløyfene og hopper til neste iterasjon.
For eksempel:
#!/usr/bin/zsh
for jeg i 1… 10; gjøre
if [["$ i" == '5']]; deretter
Fortsette
fi
ekko "nummer: $ i"
Ferdig
Når sløyfen er på den 5. iterasjonen, vil den hoppe og hoppe til neste verdi i området. Slik funksjonalitet vil føre til at den 5. verdien ikke blir skrevet ut.
Konklusjon
Denne opplæringen diskuterte hvordan du implementerer for løkker i et ZSH -skript. Det er bra å merke seg at ZSH er bash-basert; Derfor vil sløyfefunksjonaliteten som er opprettet for bash også fungere for ZSH.