GNU/Linux >> Znalost Linux >  >> Linux

Příklady Bash for Loop a While Loop

Jako každý jiný skriptovací jazyk má Bash také podporu pro smyčky.

Smyčky jsou skvělé pro provádění opakujících se úkolů. Můžeme použít smyčky for a while v našich skriptech Bash.

Bash For Loop

Syntaxe cyklu for je:

for VARIABLE in PARAM1 PARAM2 PARAM3
do
  // scope of for loop
done

Pro každý parametr se provede cyklus for. Parametry mohou být čísla, rozsah čísel nebo řetězce atd.

Příklad Bash for Loop

Tento jednoduchý příklad vytiskne čísla 1 až 5 pomocí cyklu for:

#!/bin/bash

for i in 1 2 3 4 5
do
   echo "$i"
done

Výstup:

1
2
3
4
5

Bash For Loop – Tisk rozsahu čísel

Můžeme také definovat rozsah čísel, kterými se má procházet:

Například:

for i in {1..5}
do
   echo "$i"
done

Výstup:

1
2
3
4
5

Bash smyčka přes řetězce

Můžeme také použít cyklus for k procházení parametrů řetězce:

#!/bin/bash

for day in MON TUE WED THU FRI SAT SUN
do
   echo "$day"
done

Výstup:

MON
TUE
WED
THU
FRI
SAT
SUN

Bash For Loop – styl C

K zápisu cyklu for můžeme také použít syntaxi ve stylu C. Například:

#!/bin/bash

for ((i=1; i<=5; i++))
do
  echo "$i"
done

Výstup

1
2
3
4
5

Pro opakování tisku seznamu souborů v aktuálním adresáři

Chcete-li vypsat všechny soubory v aktuálním adresáři pomocí cyklu bash for, použijeme:

#!/bin/bash

for fname in ./
do
  ls -l $fname
done

Bash While Loop

Bash také podporuje while smyčky. Zatímco cykly provádějí sadu instrukcí, dokud se podmínka nevyhodnotí jako pravdivá.

Syntaxe cyklu Bash while je:

while [condition]
do
  //execute instructions
done

Podmínka je vyhodnocena před provedením jakýchkoli instrukcí. Proto je nutné mít prostředky pro aktualizaci podmínky, jinak se smyčka bude vykonávat navždy.

Příklad Bash While Loop

Následuje jednoduchá smyčka while, která tiskne čísla 1 až 5. Smyčka se ukončí, když je číslo větší než 5.

#!/bin/bash

num=1
while [ $num -le 5 ]
do
   echo "$num"
   let num++
done

Smyčka ve stylu Bash C

Stejně jako smyčku for můžeme také napsat smyčku bash while v jazyce podobném C.

Například:

#!/bin/bash

num=1
while((num <= 5))
do
   echo $num
   let num++
done

Linux
  1. Bash pro průvodce smyčkou a příklady

  2. Tip pro profesionály:Smyčky For, While a Until

  3. Udržujeme vás ve smyčce – příklady opakování pro, Zatímco, dokud

  1. Bash for smyčky Příklady

  2. Pomocí a ve smyčce Bash while

  3. Linux bash. pro smyčku a funkci, pro sčítání čísel

  1. Bash case Syntaxe a příklady

  2. Skriptování v Linuxu:3 postupy pro smyčky while v Bash

  3. Paralelizovat Bash For Loop?