„Bash for loop“ ir „loop“ pavyzdžiai

Kaip ir bet kuri kita scenarijų kalba, „Bash“ taip pat palaiko kilpas.

Kilpos puikiai tinka atlikti pasikartojančias užduotis. Mes galime naudoti „Bash“ scenarijų kilpas ir „loop“.



Bashas už kilpą

„For“ ciklo sintaksė yra:


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

„For“ kilpa bus vykdoma kiekvienam parametrui. Parametrai gali būti skaičiai, skaičių diapazonas ar eilutės ir kt.

„Bash for Loop“ pavyzdys

Šis paprastas pavyzdys spausdina skaičius nuo 1 iki 5 naudodamas „for loop“:


#!/bin/bash for i in 1 2 3 4 5 do echo '$i' done

Išvestis:

1 2 3 4 5

„Bash For Loop“ - spausdinkite skaičių diapazoną

Mes taip pat galime apibrėžti skaičių diapazoną, per kurį reikia pereiti:

Pavyzdžiui:

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

Išvestis:


1 2 3 4 5

Bashas kilpa per stygas

Mes taip pat galime naudoti „for loop“, norėdami peržvelgti eilutės parametrus:

#!/bin/bash for day in MON TUE WED THU FRI SAT SUN do echo '$day' done

Išvestis:

MON TUE WED THU FRI SAT SUN

„Bash For Loop“ - „C“ stilius

Mes taip pat galime naudoti C stiliaus sintaksę, kad parašytume for ciklą. Pavyzdžiui:

#!/bin/bash for ((i=1; i<=5; i++)) do echo '$i' done

Rezultatas


1 2 3 4 5

Norėdami, kad ciklas spausdintų dabartinio katalogo failų sąrašą

Norėdami išvardyti visus failus dabartiniame kataloge naudodami „bash for loop“, mes naudojame:

#!/bin/bash for fname in ./ do ls -l $fname done

Bashas, ​​kol kilpa

Bashas taip pat palaiko kilpas. Nors kilpos vykdo instrukcijų rinkinį, kol sąlyga bus įvertinta.

„Bash while loop“ sintaksė yra:

while [condition] do //execute instructions done

Sąlyga įvertinama prieš vykdant bet kokius nurodymus. Todėl būtina turėti galimybę atnaujinti sąlygą, kitaip kilpa bus vykdoma amžinai.


„Bash While Loop“ pavyzdys

Toliau pateikiama paprasta „loop“, kuri spausdina skaičius nuo 1 iki 5. Kilpa nutraukiama, kai skaičius yra didesnis nei 5.

#!/bin/bash num=1 while [ $num -le 5 ] do echo '$num' let num++ done

„Bash C-Style“, o kilpa

Kaip ir „for loop“, taip pat „bash“, o „loop“, taip pat galime parašyti C stiliaus kalba.

Pavyzdžiui:

#!/bin/bash num=1 while((num <= 5)) do echo $num let num++ done