Shell Scripting Tutorial | Shell Scripting Crash Course | Linux Certification Training | Edureka
Índice:
- Operadores de comparação
- Verifique se uma string contém uma subcadeia
- Verifique se uma String está Vazia
- Comparando Strings com o Operador de Caso
- Comparação Lexicográfica
- Conclusão
Ao escrever scripts Bash, você frequentemente precisará comparar duas strings para verificar se são iguais ou não. Duas cadeias são iguais quando têm o mesmo comprimento e contêm a mesma sequência de caracteres.
Este tutorial descreve como comparar seqüências de caracteres no Bash.
Operadores de comparação
Operadores de comparação são operadores que comparam valores e retornam verdadeiro ou falso. Ao comparar seqüências de caracteres no Bash, você pode usar os seguintes operadores:
-
string1 = string2estring1 == string2- O operador de igualdade retornará true se os operandos forem iguais.- Use o operador
=com otest; then echo "Strings are equal." else echo "Strings are not equal." fi; then echo "Strings are equal." else echo "Strings are not equal." fiQuando o script é executado, ele imprime a seguinte saída.
Strings are equal.Aqui está outro script que pega a entrada do usuário e compara as strings fornecidas. Neste exemplo, usaremos o
]; then echo "Strings are equal." else echo "Strings are not equal." fi]; then echo "Strings are equal." else echo "Strings are not equal." fiExecute o script e insira as strings quando solicitado:
Enter first string: Linuxize Enter second string: Ubuntu Strings are not equal.Você também pode usar o lógico e
&&e ou||para comparar strings:] && echo "Equal" || echo "Not equal"Verifique se uma string contém uma subcadeia
Existem várias maneiras de verificar se uma sequência contém uma substring.
Uma abordagem é usar o contorno da substring com símbolos de asterisco
*que significa corresponder a todos os caracteres.#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiO script ecoará o seguinte:
It's there.Outra opção é usar o operador regex
=~como mostrado abaixo:#!/bin/bash VAR='GNU/Linux is an operating system' if]; then echo "It's there." fiO período seguido por um asterisco
.*Corresponde a zero ou mais ocorrências de qualquer caractere, exceto um caractere de nova linha.Verifique se uma String está Vazia
Com bastante frequência, você também precisará verificar se uma variável é uma sequência vazia ou não. Você pode fazer isso usando os operadores
-ne-z.#!/bin/bash VAR='' if]; then echo "String is empty." fiString is empty.#!/bin/bash VAR='Linuxize' if]; then echo "String is not empty." fiComparando Strings com o Operador de Caso
Em vez de usar os operadores de teste, você também pode usar a instrução case para comparar seqüências de caracteres:
#!/bin/bash VAR="Arch Linux" case $VAR in "Arch Linux") echo -n "Linuxize matched";; Fedora | CentOS) echo -n "Red Hat";; esacComparação Lexicográfica
A comparação lexicográfica é uma operação em que duas seqüências de caracteres são comparadas em ordem alfabética, comparando os caracteres em uma sequência seqüencialmente da esquerda para a direita. Esse tipo de comparação é raramente usado.
Os scripts a seguir comparam duas seqüências lexicograficamente:
#!/bin/bash VAR1="Linuxize" VAR2="Ubuntu" if]; then echo "${VAR1} is lexicographically greater then ${VAR2}." elif]; then echo "${VAR2} is lexicographically greater than ${VAR1}." else echo "Strings are equal" fiO script produzirá o seguinte:
Ubuntu is lexicographically greater than Linuxize.Conclusão
A comparação de strings é uma das operações mais básicas e usadas com mais freqüência nos scripts do Bash. Depois de ler este tutorial, você deve entender bem como comparar seqüências de caracteres no Bash. Você também pode verificar nosso guia sobre concatenação de cadeias.
terminal bash
- Use o operador
Como localizar e substituir caracteres curinga no Excel
Uma maneira fácil de localizar e substituir caracteres curinga no Excel como texto normal. Localizar caracteres curinga como texto normal no Excel usando caracteres especiais de til
Como comparar dois documentos em ms word 2007 ou 2010
Aprenda como comparar rapidamente dois documentos no MS Word 2007 ou 2010.
Como comparar cpu, gpu e ssds antes de comprar
Saiba como comparar CPU, GPU e SSDs antes de comprar. Nós ajudamos você a fazer a escolha certa.







