Как использовать цикл until в Linux

Как использовать цикл until в Linux

Рубрики:

Bash, Linux

Метки:

Bash, linux, until

В скриптах Bash есть два типа циклов, которые позволяют выполнять действия до тех пор, пока не будет соблюдено определенное условиеwhile и until. Основное различие между ними заключается в том, что цикл while выполняется, пока условие истинно, и завершается, когда условие становится ложным. А цикл until работает наоборот: он выполняется, пока условие ложно, и завершается только тогда, когда условие становится истинным.

В этой статье мы покажем семь примеров использования цикла until в скриптах Bash Linux.

Содержание:

  1. Синтаксис цикла until
  2. Подсчет чисел с помощью until
  3. Ожидание создания файла с помощью until
  4. Проверка доступности сайта
  5. Бесконечный цикл until
  6. Использование операторов break и continue с until
  7. Написание цикла until для арифметической оценки
  8. Использование цикла until с несколькими условиями
  9. Выводы

Синтаксис цикла until

Цикл until в сценариях Bash имеет следующий синтаксис:

 

Где:

  • [ condition ] — условие, при котором цикл будет продолжать выполнение, пока оно ложно;
  • do — специальное слово, которое обозначает начало блока команд;
  • done — специальное слово, которое обозначает конец блока цикла.

Подсчет чисел с помощью until

Начнем с самого простого — напишем цикл until для подсчета чисел от одного до пяти. Для этого создадим файл basic-loop.sh и вставим в него следующий код:

 

until counter

Этот сценарий Bash инициализирует переменную-счетчик counter со значением 0, с которым она входит в цикл until. Цикл продолжает выполнение до тех пор, пока условие в квадратных скобках [ $counter -gt 5 ] ложно, то есть, пока счетчик не станет больше 5.

Запустим этот скрипт:

 

until counter execute

Ожидание создания файла с помощью until

Давайте попробуем написать цикл, который будет выводить на экран некое сообщение, пока мы не создадим указанный файл. Для решения этой задачи можно использовать следующий код:

 

Этот сценарий будет печатать в терминале текст Waiting for the file to be created... с интервалом в одну секунду, пока мы не создадим файл /home/user/qwerty.txt.

until wait for file

Читайте также: Как использовать цикл for в Linux.

Запустим этот скрипт и параллельно создадим нужный файл:

 

until wait for file execute

Проверка доступности сайта

Функционал ОС Linux позволяет пользователям применять утилиты командной строки внутри циклов. К примеру, используем команду ping с циклом until, чтобы проверить доступен ли сайт www.google.com:

 

Данный код будет выводить на экран сообщение Waiting for www.google.com - network down? каждые пять секунд, пока соединение с сайтом www.google.com не будет установлено. В случае успешного соединения, цикл отобразит текст Ping successful! www.google.com is reachable..

until ping

Запустим сценарий:

 

until ping execute

Бесконечный цикл until

Бесконечный цикл — конструкция, в которой набор инструкций или блок кода повторяется бесконечно, без явного условия выхода. Этот цикл будет продолжаться до тех пор, пока его не прервут вручную или не завершат программу. Например:

 

until infinity loop

Поскольку в цикле условие всегда ложно (condition=false), он будет выполняться бесконечно. Убедимся в этом, запустив скрипт:

 

until infinity loop execute

Читайте также: Использование операторов if, elif, else в скриптах Bash.

Использование операторов break и continue с until

Оператор continue применяется для пропуска указанной итерации цикла. Оператор break прерывает работу цикла. Для примера напишем Bash-скрипт, который должен вывести в терминал числа от 1 до 10, но пропустит число 5 и остановится, когда достигнет числа 8:

 

until continue break

Посмотрим, как работает этот сценарий:

 

until continue break execute

Написание цикла until для арифметической оценки

Вы могли заметить, что в предыдущих скриптах мы некоторые условия записывали в двойных круглых скобках. Они используются для арифметической оценки чисел. Давайте попробуем написать программу, которая будет генерировать случайные числа от 1 до 10, пока не выдаст число больше 8:

 

until random

Проверим, как работает наша программа:

 

until random execute

Использование цикла until с несколькими условиями

Напоследок, давайте создадим скрипт, в котором соблюдаются сразу несколько условий. Наша программа должна считать числа от 1 до 10, указывать каждое из них как четное или нечетное, и выводить определенные сообщения, когда счет достигает 5 или 8. И когда цикл доходит до 8, он завершается и печатает сообщение Loop finished!:

 

until many conditions

Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.

Запустим этот код:

 

until many conditions execute

Выводы

Мы показали Вам семь полезных примеров использования цикла until в сценариях Bash. Детально изучив показанные скрипты, Вы сможете получить четкое представление о том, как реализовать программу для проверки различных условий.

Спасибо за время, уделенное прочтению статьи!

Если возникли вопросы — задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасностиполный курс по кибербезопасностикурсы DevNet / DevOps (программируемые системы) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Bash, Linux

Метки:

Bash, linux, until

Больше похожих постов

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики