Зацикливание заявлений | Сценарий оболочки
Опубликовано: 16 Февраля, 2022
Операторы цикла в сценариях оболочки: всего 3 оператора цикла, которые можно использовать в программировании на bash.
- в то время как заявление
- для заявления
- до заявления
Чтобы изменить поток операторов цикла, используются две команды:
- перерыв
- Продолжить
Their descriptions and syntax are as follows:
- while statement
Here command is evaluated and based on the result loop will executed, if command raise to false then loop will be terminated
Syntaxwhile command do Statement to be executed done
- for statement
The for loop operate on lists of items. It repeats a set of commands for every item in a list.
Here var is the name of a variable and word1 to wordN are sequences of characters separated by spaces (words). Each time the for loop executes, the value of the variable var is set to the next word in the list of words, word1 to wordN.
Syntaxfor var in word1 word2 ...wordn do Statement to be executed done
- until statement
The until loop is executed as many as times the condition/command evaluates to false. The loop terminates when the condition/command becomes true.
Syntaxuntil command do Statement to be executed until command is true done
Примеры программ
Example 1:
Implementing for loop with break statement
#Start of for loop for a in 1 2 3 4 5 6 7 8 9 10 do # if a is equal to 5 break the loop if [ $a == 5 ] then break fi # Print the value echo "Iteration no $a" done |
Выход
$ bash -f main.sh Итерация no 1 Итерация no 2 Итерация no 3 Итерация no 4
Example 2:
Implementing for loop with continue statement
for a in 1 2 3 4 5 6 7 8 9 10 do # if a = 5 then continue the loop and # don"t move to line 8 if [ $a == 5 ] then continue fi echo "Iteration no $a" done |
Выход
$ bash -f main.sh Итерация no 1 Итерация no 2 Итерация no 3 Итерация no 4 Итерация no 6 Итерация no 7 Итерация no 8 Итерация no 9 Итерация no 10
Example 3:
Implementing while loop
a=0 # -lt is less than operator #Iterate the loop until a less than 10 while [ $a -lt 10 ] do # Print the values echo $a # increment the value a=`expr $a + 1` done |
Выход:
$ bash -f main.sh 0 1 2 3 4 5 6 7 8 9
Example 4:
Implementing until loop
a=0 # -gt is greater than operator #Iterate the loop until a is greater than 10 until [ $a -gt 10 ] do # Print the values echo $a # increment the value a=`expr $a + 1` done |
Выход:
$ bash -f main.sh 0 1 2 3 4 5 6 7 8 9 10
Примечание: сценарии оболочки - это язык с учетом регистра, что означает, что при написании сценариев необходимо соблюдать правильный синтаксис.