Bash

Vilka är de olika typerna av loopar i Bash?

I Bash-skript är loopar kontrollstrukturer som låter dig köra ett kodblock upprepade gånger tills ett visst villkor uppfylls. Loopar är avgörande för att automatisera repetitiva uppgifter, bearbeta datasamlingar och utföra iterativa operationer. Att förstå de olika typerna av loopar som finns tillgängliga i Bash är avgörande för att skriva effektiva och produktiva skript.

Vilka är de olika typerna av loopar i Bash?

Typer Av Loopar I Bash

For Loop

for-loopen är en enkel och vanligt använd loop i Bash. Den låter dig iterera över en lista med värden eller ett intervall av nummer. Syntaksen för for-loopen är följande:

     for variabel i lista     do       kommandon     done   
  • variabel: Variabeln som används för att iterera över listan eller intervallet.
  • lista: Listan med värden eller intervallet av nummer att iterera över.
  • kommandon: Kommandona som ska köras för varje iteration av loopen.

Till exempel itererar följande for-loop över listan med frukter och skriver ut varje frukt:

     frukter=(äpple banan apelsin)      for frukt in "${frukter[@]}"     do       echo $frukt     done   

While Loop

while-loopen kör ett kodblock upprepade gånger så länge ett angivet villkor är sant. Syntaksen för while-loopen är följande:

     while villkor     do       kommandon     done   
  • villkor: Villkoret som avgör om loopen fortsätter att köras.
  • kommandon: Kommandona som ska köras för varje iteration av loopen.
finns i

Till exempel fortsätter följande while-loop att skriva ut nummer från 1 till 10:

     i=1      while [ $i -le 10 ]     do       echo $i       ((i++))     done   

Until Loop

until-loopen liknar while-loopen, men den kör ett kodblock upprepade gånger tills ett angivet villkor blir falskt. Syntaksen för until-loopen är följande:

     until villkor     do       kommandon     done   
  • villkor: Villkoret som avgör om loopen fortsätter att köras.
  • kommandon: Kommandona som ska köras för varje iteration av loopen.
ägare teknikstart

Till exempel fortsätter följande until-loop att skriva ut nummer från 1 till 10 tills användaren anger ett icke-numeriskt värde:

     read -p "Ange ett nummer: " nummer      until [[ $nummer =~ ^[0-9]+$ ]]     do       echo "Ogiltig inmatning. Ange ett nummer."       read -p "Ange ett nummer: " nummer     done      echo "Du angav $nummer."   

Do-While Loop

do-while-loopen är en variant av while-loopen som kör ett kodblock minst en gång innan loopvillkoret kontrolleras. Syntaksen för do-while-loopen är följande:

     do       kommandon     done while villkor   
  • kommandon: Kommandona som ska köras för varje iteration av loopen.
  • villkor: Villkoret som avgör om loopen fortsätter att köras.

Till exempel fortsätter följande do-while-loop att skriva ut nummer från 1 till 10, även om användaren anger ett icke-numeriskt värde:

     read -p "Ange ett nummer: " nummer      do       echo $nummer       ((nummer++))     done while [[ $nummer -le 10 ]]   

Nested Loops

Nested loops är loopar inom loopar. De låter dig utföra komplexa iterationer och bearbeta datastrukturer med flera nivåer. Nested loops kan skapas genom att kombinera olika typer av loopar eller genom att använda samma typ av loop flera gånger.

Till exempel itererar följande nested for-loopar över en tvådimensionell matris och skriver ut varje element:

     array=(       [0,0]=1 [0,1]=2 [0,2]=3       [1,0]=4 [1,1]=5 [1,2]=6       [2,0]=7 [2,1]=8 [2,2]=9     )      for ((i=0; i<3; i++))     do       for ((j=0; j<3; j++))       do         echo ${array[$i,$j]}       done     done   

Loop Control Statements

Loop control statements låter dig ändra flödet i en loop. De två mest använda loop control statements i Bash är break och continue.

Break Statement

break-satsen används för att avsluta en loop i förtid. När en break-sats påträffas avslutas loopen omedelbart och körningen fortsätter med satsen efter loopen.

Till exempel använder följande for-loop break-satsen för att avsluta loopen när värdet på i når 5:

     for ((i=0; i<10; i++))     do       if [ $i -eq 5 ]       then         break       fi        echo $i     done   

Continue Statement

continue-satsen används för att hoppa över den aktuella iterationen av en loop och fortsätta med nästa iteration. När en continue-sats påträffas hoppas de återstående satserna i den aktuella iterationen över och loopen går vidare till nästa iteration.

Till exempel använder följande while-loop continue-satsen för att hoppa över jämna tal:

     i=0      while [ $i -lt 10 ]     do       ((i++))        if [ $((i % 2)) -eq 0 ]       then         continue       fi        echo $i     done   

Loopar är viktiga kontrollstrukturer i Bash-skript som låter dig automatisera repetitiva uppgifter, bearbeta datasamlingar och utföra iterativa operationer. Att förstå de olika typerna av loopar som finns tillgängliga i Bash och hur man använder dem effektivt är avgörande för att skriva effektiva och produktiva skript. Dessutom ger loop control statements dig möjlighet att ändra flödet i loopar, vilket gör dem ännu mer mångsidiga.

För att bli skicklig i att använda loopar i Bash är det viktigt att öva och experimentera med olika scenarier. Ju mer du arbetar med loopar, desto bättre kommer du att bli på att förstå deras beteende och tillämpa dem för att lösa verkliga problem.

Thank you for the feedback

Lämna ett svar