И устрица имеет врагов! (К. Прутков).

Bash – Цикл until

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
5 марта 2019
Bash - Цикл until Loop
Циклы являются одним из фундаментальных понятий языков программирования. Циклы удобны, когда вы хотите запускать серию команд снова и снова, пока не будет выполнено определенное условие.

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

Эта статья объясняет основы цикла в Bash.

 

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

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

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

Пример цикла until в Вash

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

#!/bin/bash

until git pull &> /dev/null
do
    echo "Ожидание хоста git ..."
    sleep 1
done

echo -e "\nРепозиторий git извлечен."

 

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

Ожидание хоста git ...
Ожидание хоста git ...
Ожидание хоста git ...

Репозиторий git извлечен.

Заключение

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 6

Если статья понравилась, то поделитесь ей в социальных сетях:

Комментарии:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

шесть + одиннадцать =

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close