Como comparar strings no Bash

How Compare Strings Bash



Para diferentes propósitos de programação, precisamos comparar o valor de duas strings. As funções integradas são usadas em muitas linguagens de programação para testar a igualdade de duas strings. Você pode verificar a igualdade e a desigualdade de duas strings em bash usando E se demonstração. == é usado para verificar a igualdade e ! = é usado para verificar a desigualdade das strings. Você pode comparar parcialmente os valores de duas strings também em bash. Como você pode comparar os valores de string em bash é mostrado usando vários exemplos neste tutorial.

Exemplo-1: comparação de strings usando operadores ==

Não há função de comparação embutida para verificar a igualdade de dois valores de string no bash como outra linguagem de programação padrão. No script a seguir, duas variáveis ​​de string, strval1 e strval2 são declarados. A equidade dessas duas variáveis ​​de string são testadas usando o primeiro E se declaração do script. O valor de strval1 é comparado com um valor de string para verificar a igualdade no segundo E se demonstração.







#! / bin / bash

strval1='Ubuntu'
strval2='Janelas'

#Verifique a igualdade de duas variáveis ​​de string

E se [ $ strval1==$ strval2 ];então
jogou fora 'Strings são iguais'
outro
jogou fora 'Strings não são iguais'
ser

#Verifique a igualdade de uma variável com um valor de string

E se [ $ strval1=='Ubuntu' ];então
jogou fora 'Sistema operacional Linux'
outro
jogou fora 'Sistema operacional Windows'
ser

Saída:



A primeira comparação não é igual e a segunda comparação é igual.







Exemplo 2: comparação de strings usando o operador! =

A desigualdade de duas variáveis ​​de string é verificada no exemplo a seguir. Aqui, dois valores não são iguais. Então, se a condição for verdadeira e Sistema operacional Windows irá imprimir.

#! / bin / bash

strval1='Ubuntu'
strval2='Janelas'

#Verifique a desigualdade de uma variável com um valor de string

E se [ $ strval2 !='Ubuntu' ];então
jogou fora 'Sistema operacional Windows'
outro
jogou fora 'Sistema operacional Linux'
ser

Saída:



Exemplo 3: Comparação parcial de strings

Você pode comparar o valor parcial usando o caractere curinga no script bash. No script a seguir, * é usado como caractere curinga para correspondência parcial. A variável string, Strval contém a palavra Internet. Então, o primeiro E se do script retornará verdadeiro e imprimirá Parcialmente Coincidir . O Bash diferencia maiúsculas de minúsculas. Para isso, o segundo E se do script retornará false para usar internet como string parcial que não é igual na comparação de letras.

#! / bin / bash

Strval='Microsoft Internet Explorer'

E se [[ $ strval==*Internet* ]];
então
jogou fora 'Corresponder parcialmente'
outro
jogou fora 'Sem correspondência'
ser

E se [[ $ strval==*Internet* ]];
então
jogou fora 'Corresponder parcialmente'
outro
jogou fora 'Sem correspondência'
ser

Saída:

Exemplo 4: compare a string com o valor de entrada do usuário

Às vezes, precisamos comparar o valor da string obtido pelo usuário com o valor da string específica para fins de programação. No exemplo a seguir, uma string de dados será obtida do usuário como entrada e comparada a desigualdade dos dados com um valor fixo. Se a condição for verdadeira, ele irá imprimir nenhuma gravação encontrada , caso contrário, ele irá imprimir Registro encontrado .

#! / bin / bash

jogou fora 'Digite seu nome'
leituraentrada

E se [ $ input !='Fahmida' ];
então
jogou fora 'Nenhuma gravação encontrada'
outro
jogou fora 'Registro encontrado'
ser

Saída:

O vídeo desta lição está aqui:

A tarefa de comparação de strings no bash será mais fácil para você depois de completar os exemplos acima com um entendimento claro.