Slik bruker du Break and Continue-setninger i Shell-skript


I denne artikkelen skal vi ta en titt på hvordan du bruker en pause og fortsett i bash-skript. I bash har vi tre hovedløkkekonstruksjoner (for, while, til). Break og fortsett-utsagn er bash innebygd og brukes til å endre flyten i loopene dine. Dette konseptet pause og fortsett er tilgjengelig på populære programmeringsspråk som Python.

type -a break continue

Gå ut av loopen med en pauseerklæring

break-setningen vil gå ut av løkken og kontrollen overføres til neste setning i løkken. Du kan kjøre kommandoen help for å få litt informasjon om break-setningen.

help break

Den grunnleggende syntaksen for pause.

break [n]

n is optional

Ta en titt på eksemplet nedenfor. Dette er en enkel løkke som itererer over et verdiområde fra 1 til 20 i et trinnvis trinn på 2. Den betingede setningen vil evaluere uttrykket og når det er true($val=9) da den vil kjøre break-setningen og løkken vil bli avsluttet og hopper over de gjenværende iterasjonene.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
     break
  else
  echo "printing ${val}"
fi
done

Hopp over en iterasjon med fortsett-erklæring

Hva om du ikke vil gå helt ut av loopen, men hoppe over kodeblokken når en bestemt betingelse er oppfylt? Dette kan gjøres med en fortsett-erklæring. continue-setningen vil hoppe over kjøringen av kodeblokken når en viss betingelse er oppfylt og kontrollen sendes tilbake til loop-setningen for neste iterasjon.

For å få tilgang til hjelp.

help continue

Ta en titt på eksemplet nedenfor. Dette er det samme eksemplet som vi brukte for å demonstrere bruddsetningen. Nå når Val er evaluert til ni, vil fortsett-setningen hoppe over alle de gjenværende kodeblokkene og sende kontrollen til for loop for neste iterasjon.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      continue
  fi
  echo "printing ${val}"
done

Hvis du kjente til python, er oppførselen bryt og fortsett den samme i python også. Men python gir enda en sløyfekontrollsetning kalt pass.

Pass er som en null-erklæring, og tolken vil lese den, men vil ikke utføre noen operasjon. Det resulterer rett og slett i ingen operasjon. Bash gir ikke en lignende uttalelse, men vi kan etterligne denne oppførselen ved å bruke ekte søkeord eller kolon(:). Både sant og kolon er skall innebygd og utfører ingen operasjon.

type -a : true

Ta en titt på eksemplet nedenfor. Når en betinget-setning vurderes til å være true($val=9), vil true-setningen ikke gjøre noe, og loopen vil fortsette.

#!/usr/bin/bash

for val in {1..20..2}
do
  If [[ $val -eq 9 ]]
  then
      true
  fi
  echo "printing ${val}"
done

Det er det for denne artikkelen. Vi vil gjerne høre din verdifulle tilbakemelding og eventuelle tips du har.