Блоки кода с операторами if и else обычно занимают несколько строк в файле скрипта оболочки Linux. Однако во многих языках программирования существует возможность записывать конструкции if-else в одну строку.
В этой статье мы расскажем Вам, как использовать однострочные конструкции с операторами if и else в скриптах Bash.
Содержание:
- Синтаксис
- Пример базового использования однострочной конструкции if-else
- Сравнение значения переменной
- Проверка результата выполнения команд Linux
- Использование операторов && и ||
- Выводы
Синтаксис
В сценариях Bash синтаксис конструкции if-else, которая записана в одну строку, выглядит следующим образом:
Давайте разберем части этого кода:
if— начинает оператор if;[ condition ]— условие в квадратных скобках, которое нужно проверить;then command1— выполняетcommand1, если условие истинно;else command2— выполняетcommand2, если условие ложно;fi— завершает блок if-else.
Важно: составные части однострочной конструкции if-else разделяются точками с запятой (;).
Пример базового использования однострочной конструкции if-else
Допустим, нам нужно сравнить два числа — 5 и 3. Для этого запишем условие 5 -gt 3 (5 больше 3). Если условие:
- истинно, значит выведем на экран сообщение
5 is greater than 3; - ложно — выведем на экран сообщение
5 is not greater than 3.
Читайте также: Использование операторов if, elif, else в скриптах Bash.
Код в нашем случае выглядит следующим образом:
На скриншоте выше показан результат выполнения скрипта. Число 5 действительно больше 3, поэтому наше условие истинно, и мы получили соответствующее сообщение.
Сравнение значения переменной
Давайте немного изменим предыдущий код. Создадим переменную num со значением 10. И запишем такое условие — $num -eq 11 (значение num равно 11). Если оно:
- истинно — выводится сообщение
The number is 10; - ложно — выводится сообщение
The number is not 10.
Пример кода:
На скриншоте видно, что поставленное условие оказалось ложным (число 11 не равно 10), поэтому в терминале отобразилось сообщение The number is not 10.
Читайте также: 10 полезных советов для написания эффективных bash скриптов в Linux.
Проверка результата выполнения команд Linux
Допустим, нам нужно узнать, существует ли каталог /home/user2 в файловой системе. Для решения этой задачи напишем следующий скрипт:
Давайте разберем принцип его работы:
ls /home/user2— команда, которая пытается вывести на экран содержимое указанного каталога;- если каталог существует и команда
lsвыполнена успешно (условие истинно), отображается сообщениеDirectory exists; - если каталог не существует и команда
lsне выполнена (условие ложно), выводится текстDirectory does not exist.
Как показано на скриншоте выше, директории /home/user2 в файловой системе нет.
Использование операторов && и ||
В однострочной конструкции if-else Вы можете заменить оператор if на && (логическое «И»), а else — на || (логическое «ИЛИ»). Тогда синтаксис конструкции немного изменится:
Где:
&&— означает, что если условие истинно, то выполняетсяcommand1;||— означает, что если условие ложно, то выполняетсяcommand2.
Например:
Выводы
Мы показали базовые примеры использования однострочной конструкции if-else в сценариях Bash. Надеемся, что наша статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.



























