Bash nest for sløyfe

Bash nest for sløyfe

Løkker er datastrukturen som brukes på mange språk for å utføre noen oppgave i iterasjoner i.e., gjentatte ganger til det faktiske målet er oppnådd. En av de mange løkkerne av programmering er "for" -løkken. "For" -sløyfen kan brukes alene og mer enn en "for" -sløyfe i en sekvens sies å være "nestet". Derfor har vi bestemt oss for å bruke "nestet" for løkker i bash -programmering i våre eksempler på dagens artikkel. Så la oss starte med åpningen av terminalskallet i Ubuntu 20.04 System via snarveien “Ctrl+Alt+T”.

Eksempel 01: Enkelt for loop

Innenfor terminalskallet lager vi en ny bash -fil som heter “Bash.SH ”med“ berørings ”-instruksjonen. Denne filen vil bli opprettet i systemets hjemmekatalog. Denne filen må åpnes i noen redaktører i.e., nano, vim eller tekst for å legge til kode i den. Så vi har åpnet denne nyopprettede filen fra hjemmemappen i “Nano” -redigereren i henhold til den viste nedenfor Nano -instruksjonen i skallet etterfulgt av navnet på en fil.

$ Touch Bash.sh
$ nano bash.sh

Vi har lagt til bash -utvidelsen i bash -filen som “#!/bin/bash ”. Den enkle "for" -sløyfen er startet med doble "enkle" parenteser som nedenfor. Denne sløyfen begynte med verdien 1 (variabel “i”) og vil fortsette til verdien tilsvarer 5. Ved hver iterasjon har inkrementoperatøren også blitt brukt til å øke verdien av en variabel "jeg" med en. "Do" -delen av "for" -sløyfene her. På hver iterasjon vil "do" -delen bli utført og ekko -setningen vil vise iterasjonsnummeret ved å bruke "$ i" i den. Begrepet "gjort" indikerer slutten av løkken. La oss lagre bashoden vår for utførelse. Trykk CTRL+X for å avslutte. Koden er vedlagt her.

Når vi kjører denne bash -filen, har vi fått alle iterasjonsnumrene skrevet ut på skallet. Utgangen presenteres i det festede bildet.

$ Bash Bash.sh

Eksempel 02: Nest for loop

La oss starte med reiret for loop nå. For dette må vi legge til to "for" -løkker etter hverandre i en sekvens i bash -koden. Dermed har vi åpnet den samme filen og oppdatert koden vår som nedenfor. Både “for” -løkker vil bli startet fra 1 og ende ved verdi 3 med en økning på 1. Den indre sløyfen vil utføre helt jeg.e., Opptil tre verdier, ved den første utførelsen av den ytre sløyfen. Ved neste iterasjon av den ytre sløyfen vil den indre "for" -sløyfen bli utført 3 ganger igjen til verdi 3 og så videre for den siste iterasjonen også. Den indre sløyfen vil bli gjentatt 9 ganger, mens den ytre sløyfen vil bli operert 3 ganger på denne måten. Den ytre sløyfen kan ikke gå til neste økning før den indre sløyfen fullt ut utfører seg 3 ganger. Den indre sløyfen vil være ansvarlig for å vise iterasjonsnummeret til den ytre sløyfen, så vel som den indre sløyfen ved å bruke "ekko" -uttalelsen i "do" -klausulen. Begge løkkene er avsluttet via "Ferdig". Koden er vedlagt her.

På utførelsen av denne oppdaterte koden med bash -kommandoen, har vi fått den indre sløyfen utført 9 ganger jeg.e., 3 ganger for hver iterasjon av den ytre sløyfen. Utgangen presenteres i det festede bildet.

$ Bash Bash.sh

Eksempel 03: Nestet for sløyfe i en linje

Den nestede "for" -løkken kan også brukes i bash -koden i en enkelt linje. Så vi har oppdatert den samme bash -filen etter å ha åpnet den i Nano Editor som nedenfor. For den første "for" -sløyfen har vi brukt verdiene x, y og z. For den indre "for" -sløyfen har vi brukt tre tall 1, 3 og 5. Innenfor "do" -erklæringen vises både indre og ytre sløyfe -iterasjonsverdier. Begge løkkene er avsluttet med "Done" -klausulene som er vist nedenfor. Koden er vedlagt her.

Når vi kjører dette stykket av 1-linjekode, har vi vist utdata nedenfor. For hver verdi av den ytre sløyfen blir den indre sløyfen utført opp til de tre verdiene I.e., 1, 3, 5. Utgangen presenteres i det festede bildet.

$ Bash Bash.sh

Eksempel 04: Nestet for sløyfe

La oss ta et annet eksempel for å illustrere arbeidet med den nestede "for" -sløyfen. Denne gangen har vi brukt den ytre sløyfen for totalt 10 iterasjoner fra 1 til 10. Innenfor denne sløyfen har en annen "for" -sløyfe blitt brukt. Den indre "for" -sløyfen har brukt “SEQ” -funksjonen for å lage en sekvens av ethvert tegn multiplisert med iterasjonsverdien til den ytre sløyfen. Dette betyr at verdien på den ytre sløyfen vil avgjøre hvor mange av karakterene som skal vises på skallet. Innenfor den indre sløyfen har vi brukt "ekko" -uttalelsen ved å bruke "-n" -flagget for å teste om neste streng som skal settes inn i uttalelsen er noe tegn eller er tom. Karakteren “*” er lagt til som en verdi som skal multipliseres med iterasjonsnummeret. Den første "for" sløyfen slutter og en annen "ekko" -uttalelse vil bli brukt til å bare sette linjeskiftet. Det ytre for sløyfe ender etter 10 iterasjoner. La oss lagre denne koden for å se resultatet på skallet. Koden er vedlagt her.

Når vi kjører denne bash -koden, har vi fått det vakre mønsteret nedenfor av "**" i en sekvens på 1 til 10 økende gradvis. Utgangen presenteres i det festede bildet.

$ Bash Bash.sh

Konklusjon

For å oppsummere, handlet dette om bruken av den nestede "for" -sløyfen i bashskriptet til Ubuntu 20.04 Linux -system. Vi har diskutert eksemplene for å se en enkel "for" -sløyfe i bash, nestet "for" -sløyfe, og en en-linjers nestet "for" -sløyfe i bash-skriptet.