Зацикливание заявлений | Сценарий оболочки

Опубликовано: 16 Февраля, 2022

Операторы цикла в сценариях оболочки: всего 3 оператора цикла, которые можно использовать в программировании на bash.

  1. в то время как заявление
  2. для заявления
  3. до заявления

Чтобы изменить поток операторов цикла, используются две команды:

  1. перерыв
  2. Продолжить

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
    Syntax
    while 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.
    Syntax

    for 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.
    Syntax
    
    until 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

Примечание: сценарии оболочки - это язык с учетом регистра, что означает, что при написании сценариев необходимо соблюдать правильный синтаксис.