Для разных целей программирования нам нужно сравнить значение двух строк. Встроенные функции используются во многих языках программирования для проверки равенства двух строк. Вы можете проверить равенство и неравенство двух строк в bash, используя если утверждение. == используется для проверки равенства и знак равно используется для проверки неравенства строк. Вы можете частично сравнить значения двух строк также в bash. Как вы можете сравнить строковые значения в bash, показано на различных примерах в этом руководстве.
Пример-1: Сравнение строк с использованием операторов ==
В bash, как и в других стандартных языках программирования, нет встроенной функции сравнения для проверки равенства двух строковых значений. В следующем скрипте две строковые переменные, strval1 а также strval2 объявлены. Эквивалентность этих двух строковых переменных проверяется с использованием первого если постановка сценария. Значение strval1 сравнивается со строковым значением для проверки равенства во втором если утверждение.
#! / bin / bash
strval1знак равно'Ubuntu'
strval2знак равно'Окна'
# Проверяем равенство двух строковых переменных
если [ $ strval1==$ strval2 ];тогда
выбросил 'Струны равны'
еще
выбросил 'Строки не равны'
быть
# Проверяем равенство переменной строковому значению
если [ $ strval1=='Ubuntu' ];тогда
выбросил 'Операционная система Linux'
еще
выбросил 'Операционная система Windows'
быть
Выход:
Первое сравнение не равно, а второе сравнение равно.
Пример-2: Сравнение строк с использованием оператора! =
Неравенство двух строковых переменных проверяется в следующем примере. Здесь два значения не равны. Итак, если условие будет истинным и Операционная система Windows напечатает.
#! / bin / bashstrval1знак равно'Ubuntu'
strval2знак равно'Окна'
# Проверить неравенство переменной со строковым значением
если [ $ strval2 !знак равно'Ubuntu' ];тогда
выбросил 'Операционная система Windows'
еще
выбросил 'Операционная система Linux'
быть
Выход:
Пример-3: частичное сравнение строк
Вы можете сравнить частичное значение, используя подстановочный знак в сценарии bash. В следующем сценарии * используется как подстановочный знак для частичного сопоставления. Строковая переменная, Strval содержит слово Интернет. Итак, первая если скрипта вернет истину и напечатает Частично соответствует . Bash чувствителен к регистру. Для этого второй если скрипта вернет false для использования Интернета в качестве частичной строки, которая не равна буквенному сравнению.
#! / bin / bashStrvalзнак равно'Microsoft Internet Explorer'
если [[ $ strval==*Интернет* ]];
тогда
выбросил «Частично соответствует»
еще
выбросил 'Не совпадает'
быть
если [[ $ strval==*Интернет* ]];
тогда
выбросил «Частично соответствует»
еще
выбросил 'Не совпадает'
быть
Выход:
Пример-4: Сравнить строку со значением, введенным пользователем
Иногда нам нужно сравнить строковое значение, принятое пользователем, с конкретным строковым значением для целей программирования. В следующем примере строковые данные будут взяты от пользователя в качестве входных и сравниваются неравенство данных с фиксированным значением. Если условие истинно, будет напечатано Записей не найдено , иначе он напечатает Запись найдена .
#! / bin / bashвыбросил 'Введите ваше имя'
читатьВход
если [ $ input !знак равно'Фахмида' ];
тогда
выбросил 'Записей не найдено'
еще
выбросил «Запись найдена»
быть
Выход:
Видео этого урока здесь:
Задача сравнения строк в bash станет для вас проще после выполнения приведенных выше примеров с четким пониманием.