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.