Unix / Linux - Exemplo de operadores de string de shell
Os seguintes operadores de string são suportados pelo Bourne Shell.
Assumir variável a contém "abc" e variável b segura "efg" então -
Operador | Descrição | Exemplo |
---|---|---|
= | Verifica se os valores de dois operandos são iguais ou não; se sim, então a condição se torna verdadeira. | [$ a = $ b] não é verdade. |
!= | Verifica se os valores de dois operandos são iguais ou não; se os valores não forem iguais, a condição se torna verdadeira. | [$ a! = $ b] é verdade. |
-z | Verifica se o tamanho do operando da string fornecido é zero; se tiver comprimento zero, ele retornará verdadeiro. | [-z $ a] não é verdade. |
-n | Verifica se o tamanho do operando da string fornecido é diferente de zero; se o comprimento for diferente de zero, ele retornará verdadeiro. | [-n $ a] não é falso. |
str | Verifica se strnão é a string vazia; se estiver vazio, retornará falso. | [$ a] não é falso. |
Exemplo
Aqui está um exemplo que usa todos os operadores de string -
#!/bin/sh
a="abc"
b="efg"
if [ $a = $b ]
then
echo "$a = $b : a is equal to b"
else
echo "$a = $b: a is not equal to b"
fi
if [ $a != $b ]
then
echo "$a != $b : a is not equal to b"
else
echo "$a != $b: a is equal to b"
fi
if [ -z $a ]
then
echo "-z $a : string length is zero"
else
echo "-z $a : string length is not zero"
fi
if [ -n $a ]
then
echo "-n $a : string length is not zero"
else
echo "-n $a : string length is zero"
fi
if [ $a ]
then
echo "$a : string is not empty"
else
echo "$a : string is empty"
fi
O script acima irá gerar o seguinte resultado -
abc = efg: a is not equal to b
abc != efg : a is not equal to b
-z abc : string length is not zero
-n abc : string length is not zero
abc : string is not empty
Os seguintes pontos devem ser considerados ao usar o operador -
Deve haver espaços entre os operadores e as expressões. Por exemplo, 2 + 2 não está correto. Deve ser escrito como 2 + 2.
if...then...else...fi declaração é uma declaração de tomada de decisão que foi explicada no próximo capítulo.
operadores-unix-basic.htm