Como comparar strings em bash

Como comparar strings em bash

Para diferentes fins de programação, precisamos comparar o valor de duas strings. As funções internas são usadas em muitas linguagem de programação para testar a igualdade de duas strings. Você pode verificar a igualdade e a desigualdade de duas cordas em Bash usando se declaração. ““==”É usado para verificar a igualdade e“!=”É usado para verificar a desigualdade das cordas. Você pode comparar parcialmente os valores de duas cordas também em Bash. Como você pode comparar os valores da string no Bash é mostrado usando vários exemplos neste tutorial.

Exemplo 1: Comparação de String usando operadores “==”

Não há função de comparação interna 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. O patrimônio dessas duas variáveis ​​de string é testado usando o primeiro se Declaração do Script. O valor de strval1 é comparado com um valor de string para verificar a igualdade no segundo se declaração.

#!/BIN/BASH
strval1 = "Ubuntu"
strval2 = "Windows"
#Ceche a igualdade duas variáveis ​​de string
se [$ strval1 == $ strval2]; então
eco "as cordas são iguais"
outro
eco "as cordas não são iguais"
fi
#Cheque a igualdade de uma variável com um valor de string
se [$ strval1 == "ubuntu"]; então
eco "sistema operacional Linux"
outro
eco "sistema operacional Windows"
fi

Saída:

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

Exemplo 2: Comparação de String usando “!= ”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 = "Windows"
#Cheque a desigualdade de uma variável com um valor de string
Se [$ strval2 !"Ubuntu"]; então
eco "sistema operacional Windows"
outro
eco "sistema operacional Linux"
fi

Saída:

Exemplo 3: comparação parcial de string

Você pode comparar o valor parcial usando o caráter curinga no script bash. No script seguinte, "*" é usado como caractere curinga para correspondência parcial. A variável da string, strval contém a palavra "Internet". Então, o primeiro se do script retornará true e imprimir “Combine parcialmente”. Bash é sensível ao maiúsculas. Para isso, o segundo se do script retornará falso para o uso de "Internet" como string parcial, que não é igual por comparação de letras.

#!/BIN/BASH
strval = "Microsoft Internet Explorer"
se [[$ strval == * internet *]];
então
eco "parcialmente corresponde"
outro
eco "sem combinação"
fi
se [[$ strval == * internet *]];
então
eco "parcialmente corresponde"
outro
eco "sem combinação"
fi

Saída:

Exemplo-4: Compare string com o valor de entrada do usuário

Às vezes, precisamos comparar o valor da string tomado pelo usuário com o valor específico da string para fins de programação. No exemplo a seguir, uma string dados será retirada do usuário como entrada e comparou a desigualdade dos dados com um valor fixo. Se a condição for verdadeira, será imprimir “Nenhum Registro Encontrado", Caso contrário, ele vai imprimir “Registro encontrado”.

#!/BIN/BASH
eco "digite seu nome"
Leia a entrada
Se [$ input !"Fahmida"];
então
eco "nenhum registro encontrado"
outro
eco "registro encontrado"
fi

Saída:

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

A tarefa de comparação de strings em Bash será mais fácil para você depois de concluir os exemplos acima com entendimento claro.