Как сравнить строки в Bash

How Compare Strings Bash



Для разных целей программирования нам нужно сравнить значение двух строк. Встроенные функции используются во многих языках программирования для проверки равенства двух строк. Вы можете проверить равенство и неравенство двух строк в bash, используя если утверждение. == используется для проверки равенства и знак равно используется для проверки неравенства строк. Вы можете частично сравнить значения двух строк также в bash. Как вы можете сравнить строковые значения в bash, показано на различных примерах в этом руководстве.

Пример-1: Сравнение строк с использованием операторов ==

В bash, как и в других стандартных языках программирования, нет встроенной функции сравнения для проверки равенства двух строковых значений. В следующем скрипте две строковые переменные, strval1 а также strval2 объявлены. Эквивалентность этих двух строковых переменных проверяется с использованием первого если постановка сценария. Значение strval1 сравнивается со строковым значением для проверки равенства во втором если утверждение.







#! / bin / bash

strval1знак равно'Ubuntu'
strval2знак равно'Окна'

# Проверяем равенство двух строковых переменных

если [ $ strval1==$ strval2 ];тогда
выбросил 'Струны равны'
еще
выбросил 'Строки не равны'
быть

# Проверяем равенство переменной строковому значению

если [ $ strval1=='Ubuntu' ];тогда
выбросил 'Операционная система Linux'
еще
выбросил 'Операционная система Windows'
быть

Выход:



Первое сравнение не равно, а второе сравнение равно.







Пример-2: Сравнение строк с использованием оператора! =

Неравенство двух строковых переменных проверяется в следующем примере. Здесь два значения не равны. Итак, если условие будет истинным и Операционная система Windows напечатает.

#! / bin / bash

strval1знак равно'Ubuntu'
strval2знак равно'Окна'

# Проверить неравенство переменной со строковым значением

если [ $ strval2 !знак равно'Ubuntu' ];тогда
выбросил 'Операционная система Windows'
еще
выбросил 'Операционная система Linux'
быть

Выход:



Пример-3: частичное сравнение строк

Вы можете сравнить частичное значение, используя подстановочный знак в сценарии bash. В следующем сценарии * используется как подстановочный знак для частичного сопоставления. Строковая переменная, Strval содержит слово Интернет. Итак, первая если скрипта вернет истину и напечатает Частично соответствует . Bash чувствителен к регистру. Для этого второй если скрипта вернет false для использования Интернета в качестве частичной строки, которая не равна буквенному сравнению.

#! / bin / bash

Strvalзнак равно'Microsoft Internet Explorer'

если [[ $ strval==*Интернет* ]];
тогда
выбросил «Частично соответствует»
еще
выбросил 'Не совпадает'
быть

если [[ $ strval==*Интернет* ]];
тогда
выбросил «Частично соответствует»
еще
выбросил 'Не совпадает'
быть

Выход:

Пример-4: Сравнить строку со значением, введенным пользователем

Иногда нам нужно сравнить строковое значение, принятое пользователем, с конкретным строковым значением для целей программирования. В следующем примере строковые данные будут взяты от пользователя в качестве входных и сравниваются неравенство данных с фиксированным значением. Если условие истинно, будет напечатано Записей не найдено , иначе он напечатает Запись найдена .

#! / bin / bash

выбросил 'Введите ваше имя'
читатьВход

если [ $ input !знак равно'Фахмида' ];
тогда
выбросил 'Записей не найдено'
еще
выбросил «Запись найдена»
быть

Выход:

Видео этого урока здесь:

Задача сравнения строк в bash станет для вас проще после выполнения приведенных выше примеров с четким пониманием.