Как да сравним низове в Bash

How Compare Strings Bash



За различни цели на програмиране трябва да сравним стойността на два низа. Вградените функции се използват в много езици за програмиране за тестване на равенството на два низа. Можете да проверите равенството и неравенството на два низа в bash, като използвате ако изявление. == се използва за проверка на равенството и ! = се използва за проверка на неравенството на низовете. Можете частично да сравните стойностите на два низа също в bash. Как можете да сравните низовите стойности в bash е показано с помощта на различни примери в този урок.

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

Няма вградена функция за сравнение за проверка на равенството на две низови стойности в bash като други стандартни езици за програмиране. В следния скрипт, две низови променливи, strval1 и strval2 са декларирани. Справедливостта на тези две низови променливи се тества с помощта на първата ако изявление на сценария. Стойността на strval1 се сравнява със стойност на низ, за ​​да се провери равенството във втория ако изявление.







#!/bin/bash

strval1=„Ubuntu“
strval2='Windows'

#Проверете равенството на две низови променливи

ако [ $ strval1==$ strval2 ];тогава
изхвърлен „Низовете са равни“
иначе
изхвърлен „Низовете не са равни“
бъда

#Проверете равенството на променлива със стойност на низ

ако [ $ strval1==„Ubuntu“ ];тогава
изхвърлен 'Операционна система Linux'
иначе
изхвърлен „Операционна система Windows“
бъда

Изход:



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







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

Неравенството на две низови променливи се проверява в следния пример. Тук две стойности не са равни. Така че, ако условието ще бъде вярно и Операционна система Windows ще отпечата.

#!/bin/bash

strval1=„Ubuntu“
strval2='Windows'

#Проверете неравенството на променлива със стойност на низ

ако [ $ strval2 !=„Ubuntu“ ];тогава
изхвърлен „Операционна система Windows“
иначе
изхвърлен 'Операционна система Linux'
бъда

Изход:



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

Можете да сравните частична стойност, като използвате заместващ знак в bash скрипт. В следния скрипт, * се използва като заместващ знак за частично съвпадение. Низовата променлива, strval съдържа думата Интернет. И така, първото ако на скрипта ще върне true и ще се отпечата Частично съвпадение . Bash е чувствителен към регистър. За това второто ако на скрипта ще върне false за използване на интернет като частичен низ, който не е равен по буква за сравнение.

#!/bin/bash

strval=„Microsoft Internet Explorer“

ако [[ $ strval==*интернет* ]];
тогава
изхвърлен „Частично съвпадение“
иначе
изхвърлен 'Няма съвпадение'
бъда

ако [[ $ strval==*интернет* ]];
тогава
изхвърлен „Частично съвпадение“
иначе
изхвърлен 'Няма съвпадение'
бъда

Изход:

Пример-4: Сравнете низ с потребителска въведена стойност

Понякога се налага да сравняваме стойността на низ, взета от потребителя, със специфична стойност на низ за целите на програмирането. В следващия пример низови данни ще бъдат взети от потребителя като вход и сравнени неравенството на данните с фиксирана стойност. Ако условието е вярно, то ще се отпечата не е намерен запис , в противен случай ще се отпечата Записът е намерен .

#!/bin/bash

изхвърлен 'Въведете вашето име'
Прочетивход

ако [ $ вход !='Фахмида' ];
тогава
изхвърлен 'Не е намерен запис'
иначе
изхвърлен „Записът е намерен“
бъда

Изход:

Видеоклипът на този урок е тук:

Задачата за сравнение на низове в bash ще ви бъде по -лесна, след като попълните горните примери с ясно разбиране.