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

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

Рубрики:

Bash, Linux

Метки:

linux

Условные операторы if, elif и else — специальные управляющие конструкции, которые позволяют выполнять различные блоки кода на основе заданных условий. Механизмы ветвления, основанные на применении этих операторов, реализованы во многих языках программирования.

В этой статье мы покажем примеры использования операторов if, elif и else в скриптах Bash в ОС Linux.

Содержание:

  1. Использование оператора if в скриптах
  2. Использование конструкции if-else в скриптах
  3. Применение конструкции if-elif-else в скриптах
  4. Использование вложенного оператора if в скриптах
  5. Использование нескольких условий в одной строке в скриптах
  6. Выводы

Использование оператора if

Базовый синтаксис оператора if в Bash выглядит следующим образом:

 

Где:

  • if — ключевое слово, которое начинает оператор if;
  • [ condition ] — условие в квадратных скобках, при котором должен выполняться последующий блок кода;
  • then — ключевое слово, обозначающее конец условия и начало блока кода;
  • fi — ключевое слово, закрывающее оператор if.

Для примера напишем следующий скрипт Bash с оператором if:

 

if statement

Этот скрипт определяет, больше ли указанное число, чем 10. Если условие истинно, сценарий выводит на экран сообщение The number is greater than 10.

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

 

use if

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

На скриншоте выше видно, что мы ввели число 15, в результате чего скрипт выдал соответствующее сообщение. В то же время, при вводе числа 4, сценарий Bash вовсе не отобразил вывод в терминале. Это случилось из-за того, что мы не предусмотрели обработку данного условия.

Использование конструкции if-else

Оператор else применяется в связке с if для определения блока кода, который будет выполнен в случае, если условие, заданное в if, не соблюдается. Тогда синтаксис конструкции if-else будет иметь следующий вид:

 

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

 

if else statement

Теперь запустим наш скрипт:

 

use if else

Как видно на скриншоте, скрипт выводит сообщение The number is not greater than 10., когда число меньше 10.

Применение конструкции if-elif-else

Оператор elif (сокр. от else if) позволяет последовательно проверять несколько условий после if. Если условие в операторе if ложно, программа переходит к первому оператору elif и продолжает проверку последующих условий поочередно, пока не встретит истинное условие или не достигнет блока else, если он предусмотрен.

Синтаксис конструкции if-elif-else выглядит следующим образом:

 

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

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

 

if elif else statement

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

 

use if elif else

Использование вложенного оператора if

Вложенные операторы if позволяют создавать более сложные структуры принятия решений в программе. В такой конструкции условие внутреннего if проверяется только в случае, если условие внешнего является истинным.

Синтаксис конструкции вложенных операторов if имеет следующий вид:

 

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

 

nested if statement

Читайте также: Написание скриптов в AWK.

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

 

use nested if

Использование нескольких условий в одной строке

Использование множества условий в одном if часто необходимо для обработки сложных сценариев принятия решений на основе нескольких факторов. Для связки условий обычно применяются логические операторы && («И»), || («ИЛИ») и ! («НЕ»).

Синтаксис такой конструкции может выглядеть одним из следующих образов:

 

Или:

 

Или:

 

Или:

 

Давайте напишем скрипт, который будет определять, находится ли число в интервале от 0 до 100 (не включительно). Также проверим, равно ли число 0 или 100. И выведем сообщение на экран, если число не находится в указанном диапазоне:

 

conditions in one line

Читайте также: Установка и использование утилиты ShellCheck в Linux.

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

 

use conditions in one line

Выводы

Мы показали Вам базовые примеры использования условных операторов if, elif и else в сценариях 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

Метки:

linux

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

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

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

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


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