Операторы сравнения в скриптах Bash

Операторы сравнения в скриптах Bash

Рубрики:

Bash, Linux

Метки:

Bash, linux

Операторы сравнения — специальные символы или ключевые слова, используемые в языках программирования и скриптах для сравнения двух значений или выражений. Они позволяют оценивать операнды и возвращают булевой результат (True или False) на основе заданного условия. В большинстве случаев операторы сравнения используются в конструкции if-else.

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

Содержание:

  1. Проверка равенства двух строк
  2. Наличие слова в строке
  3. Проверка заполненности строки
  4. Сравнение длин строк с помощью операторов > и <
  5. Выводы

Проверка равенства двух строк

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

 

== operator code

Важно: мы в этом коде используем двойные квадратные скобки.

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

 

== operator code execution

Читайте также: Как объединять строки в скриптах Bash.

Вы также можете использовать оператор = для сравнения двух строк. Тогда Вам придется использовать одинарные квадратные скобки. Например:

 

= operator code

Чтобы проверить, как работает скрипт, запустим его:

 

= operator code execution

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

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

Наличие слова в строке

Существует несколько способов проверить, содержит ли строка определенное слово. К примеру, Вы можете использовать оператор сравнения == и подстановочный знак * (служит в качестве заполнителя для любой последовательности символов):

 

Check if a String Contains a Substring code 1

Запустим скрипт, чтобы узнать, что он выведет на экран:

 

Check if a String Contains a Substring code 1 execution

Либо же Вы можете использовать оператор =~. Однако, в этом случае Вам также следует добавить точку перед подстановочным знаком *. Например:

 

Check if a String Contains a Substring code 2

Читайте также: Как использовать подстановочные знаки в Linux.

Запустим скрипт, чтобы увидеть результат его выполнения:

 

Check if a String Contains a Substring code 2 execution

Проверка заполненности строки

В Linux есть два оператора, которые позволяют проверить, пуста ли строка, — -n (возвращает True, если длина строки ненулевая) и -z (возвращает True, если длина строки равна нулю). Например:

 

empty string check code

Узнаем результат выполнения скрипта:

 

empty string check code execution

Также напишем код, который определяет, что в строке есть символы:

 

not empty string check code

Посмотрим, как работает скрипт:

 

not empty string check code execution

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

Сравнение длин строк с помощью операторов > и <

Вы можете сравнивать длины строк с помощью операторов > («больше») и < («меньше»). Например:

 

less greater comparison

Важно: использование символа # в названии переменной дает возможность получить длину ее значения (строки).

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

 

less greater comparison execution

Выводы

Теперь Вы знаете, как сравнивать строки в сценариях 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

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

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

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

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


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