Bash for sløyfeeksempler

Bash for sløyfeeksempler
Løkker brukes på ethvert programmeringsspråk for å utføre den samme koden gjentatte ganger. Tre typer løkker brukes hovedsakelig i programmering for å gjøre repeterende oppgaver. Disse er for, mens, og gjør-mens/gjenta til Løkke. Du kan søke om sløyfe på bashskript på forskjellige måter. Noe nyttig bash for sløyfeeksempler er blitt nevnt i denne artikkelen.

Syntaks for for loop:

# Loop gjennom en liste
for verdi i listen
gjøre
kommandoer
Ferdig
# Spesifiserte verdier
for verdi i File1 File2 File3
gjøre
kommandoer
Ferdig
# sløyfe gjennom strenger som følge av en kommando
for verdi i $ (Linux -kommando)
gjøre
kommandoer
Ferdig
# sløyfe gjennom økning eller dekrementnumre
# Tradisjonell prosessuell for sløyfe
for ((i = 0; i<10; i++)
gjøre
kommandoer
Ferdig

I følge syntaks ovenfor, start- og sluttblokken av til Loop er definert av gjøre og Ferdig Nøkkelord i bashskriptet. Bruken av forskjellige løkker har vist i neste del av denne opplæringen.

Eksempel-1: Lese statiske verdier

Lag en bash -fil som heter loop1.sh med følgende skript for å lese verdiene fra en liste som bruker for loop. I dette eksemplet er 5 statiske verdier erklært i listene. Denne sløyfen vil iterere 5 ganger, og hver gang vil den motta en verdi fra listene og lagre den i variabelen som heter Color som vil trykke inne i løkken.

#!/bin/bash
# Definere loop for å lese strengverdier
for farge i blågrønn rosa hvit rød
gjøre
# Skriv ut strengverdien
ekko "farge = $ farge"
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-2: Lese-array-variabel

Du kan bruke til Loop for å iterere verdiene til en matrise. Lag en ny bash -fil som heter loop2.sh med følgende skript. I dette eksemplet henter sløyfen verdiene fra en array -variabel som er navngitt Colorlist, og den vil bare skrive ut utgangen hvis Rosa Verdien finnes i matriseelementene.

#!/bin/bash
# Forklar og matrise
ColorList = ("Blå grønn rosa hvit rød")
# Definer loop for å iterere matriseverdiene
for farge i $ colorlist
gjøre
# Sjekk verdien er rosa eller ikke
if [$ color == 'rosa']
deretter
ekko "Min favorittfarge er $ farge"
fi
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-3: Lese kommandolinjeargumenter

Kommandolinje argumenterverdier kan itereres ved å bruke for loop i bash. Lag en ny bash -fil som heter loop3.sh Med følgende skript for å lese og skrive ut kommandolinje-argumentverdiene som bruker for loop.

#!/bin/bash
# Definere loop for å lese argumentverdier
for myval i $*
gjøre
# Skriv ut hvert argument
ekko "Argument: $ myval"
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor. To argumenter er gitt som kommandolinjeargumenter her. Disse er 'Linux'Og'Hint'.

Eksempel-4: Å finne merkelig og til og med nummer ved hjelp av tre uttrykk

C-stil syntaks for for loop er tre uttrykkssyntaks. Det første uttrykket indikerer initialisering, det andre uttrykket indikerer termineringsbetingelse, og det tredje uttrykket indikerer økning eller reduksjon. Lag en bash -fil som heter loop4.sh med følgende skript for å finne ut de rare og jevn tallene fra 1 til 5.

#!/bin/bash
# Definer for loop i C-stil format
for ((n = 1; n<=5; n++ ))
gjøre
# Sjekk nummeret er jevn eller ikke
if (($ n%2 == 0))
deretter
ekko "$ n er jevn"
ellers
ekko "$ n er merkelig"
fi
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-5: Lese filinnhold

Du kan bruke til Loop for å lese innholdet i hvilken som helst fil ved å bruke 'katt'Kommando. Anta at du har en fil som heter 'ukedag.tekst'som inneholder navnet på alle hverdager. Lag nå en bash -fil som heter loop5.sh å lese og skrive ut innholdet i filen.

#!/bin/bash
# Initialiser telleren
i = 1
# Definer for Loop for å lese tekstfilen
for var i katt ukedag.tekst'
gjøre
# Skriv ut filinnholdet
ekko "ukedag $ i: $ var"
((i ++))
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-6: Lag uendelig for loop

Lage en bash kalt loop6.bash med følgende skript for å kjenne måten å erklære uendelig for loop. Her vil sløyfen iterere for uendelige tider og skrive ut tellerverdien til brukeren trykker på Ctrl+C.

#!/bin/bash
# Initialiser motvariabel
teller = 1
# Vis melding for oppsigelse
Ekko "Trykk CTRL+C for å avslutte fra sløyfen"
# Definer uendelig sløyfe
for ((;;))
gjøre
# Skriv ut antall iterasjon
ekko "iterating for $ teller tid (er).""
# Vent i 1 sekund
Sov 1
# Øk disken
((teller ++))
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-7: Bruk av for sløyfe med kommandoservat

Lag en bash -fil som heter loop7.bash med følgende skript for å vite bruken av for loop for å lese og skrive ut kommandoutgangen.

#!/bin/bash
Ekko "Alle bash -filer som begynner med 'A' er:"
# Les utdataene fra kommandotatning ved å bruke for loop
for val in $ (ls a*.bash)
gjøre
# Skriv ut filnavnet
ekko "$ val"
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-8: Betinget avkjørsel med pause

Lag en bash -fil som heter loop8.bash med følgende skript for å vite hvordan du skal gå ut fra løkken basert på en bestemt tilstand.

#!/bin/bash
# Definere en for sløyfe for å iterere 10 ganger
for ((i = 1; i<=10; i++ ))
gjøre
# Definer betingelsene for å avslutte sløyfen
if (($ i%3 == 0 && $ i%6 == 0))
deretter
# Avslutt fra sløyfen
ekko "avsluttet.""
gå i stykker
ellers
# Skriv ut gjeldende verdi på i
ekko "Den nåværende verdien av i er: $ i"
fi
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-9: Tidlig fortsettelse med fortsettelseserklæring

Lag en bash -fil som heter loop8.bash Med følgende skript for å vite hvordan du utelater en eller flere uttalelser fra løkken ved å bruke en kontinuerlig uttalelse basert på den spesielle tilstanden.

#!/bin/bash
# Erklære et assosiativt utvalg
erklære -a -søkere
# Intialisere matriseverdiene
Søkere = ([1022] = "Present" [1034] = "Present" [1045] = "fraværende" [1067] = "Present")
ekko "liste over søkerens ID som er til stede:"
for k i $ !Søkere [@]
gjøre
# Filtrer søkerens ID som er fraværende
hvis [$ søkere [$ k] == "fraværende"]; deretter
Fortsette
ellers
# Skriv ut søkerens ID som er til stede
ekko $ k
fi
Ferdig

Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon:

Ulike bruksområder for Loop er blitt forklart i denne opplæringen ved å bruke forskjellige eksempler for å hjelpe Bash -brukerne til å kjenne formålene med å bruke for loop riktig og bruke det i skriptet.