Цикл until Bash

Bash until Loop

21 Июня 2020 | Терминал


В этом руководстве раскрыты основы цикла until в Bash.

Цикл until Bash

Циклы являются одним из фундаментальных понятий языков программирования. Циклы удобны, когда вы хотите запускать серию команд снова и снова, пока не будет выполнено определенное условие.

В языках сценариев, таких как Bash, циклы полезны для автоматизации повторяющихся задач. В скриптах Bash есть три базовых конструкции for, while и until цикл.


Bash цикл until

until Цикл используется для выполнения заданного набора команд до тех пор , как данное условие оценивается как ложное.

Цикл Bash until принимает следующую форму:

until [CONDITION]
do
  [COMMANDS]
done
 

Условие оценивается перед выполнением команд. Если условие оценивается как ложное, команды выполняются. В противном случае, если условие оценивается как истинное, цикл будет прерван, и управление программой будет передано следующей команде.

В приведенном ниже примере на каждой итерации цикл печатает текущее значение переменной counter и увеличивает ее на единицу.

#!/bin/bash

counter=0

until [ $counter -gt 5 ]
do
  echo Counter: $counter
  ((counter++))
done
 

Цикл повторяется до тех пор, пока значение counter переменной больше четырех. Скрипт выдаст следующий вывод:

Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5
 

Используйте break и continue оператор для управления выполнением цикла.

Пример цикла until

Следующий скрипт может быть полезен, когда у вашего хоста git время простоя, и вместо того, чтобы вводить git pull несколько раз вручную, пока хост не будет в сети, вы можете запустить скрипт один раз. Он будет пытаться вытащить хранилище, пока он не будет успешным.

#!/bin/bash

until git pull &> /dev/null
do
    echo "Waiting for the git host ..."
    sleep 1
done

echo -e "\nThe git repository is pulled."
 

Скрипт напечатает «Ожидание git host…» и в sleep течение одной секунды, пока git host не выйдет в сеть. После извлечения репозитория будет напечатано «Репозиторий git извлечен».

Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...

The git repository is pulled.
 

Вывод 

while И until петли похожи друг на друга. Основное отличие состоит в том, что while цикл повторяется до тех пор, пока выполняется условие, true а until цикл повторяется до тех пор, пока выполняется условие false .


    Комментарии

    Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

Загрузка комментариев...