Unix / Linux - Exemplo de operadores booleanos de shell
Os seguintes operadores booleanos são suportados pelo Bourne Shell.
Assumir variável a contém 10 e variável b detém 20 então -
Operador | Descrição | Exemplo |
---|---|---|
! | Esta é uma negação lógica. Isso inverte uma condição verdadeira em falsa e vice-versa. | [! false] é verdadeiro. |
-o | Isso é lógico OR. Se um dos operandos for verdadeiro, a condição se torna verdadeira. | [$ a -lt 20 -o $ b -gt 100] é verdade. |
-a | Isso é lógico AND. Se ambos os operandos forem verdadeiros, a condição se torna verdadeira, caso contrário, é falsa. | [$ a -lt 20 -a $ b -gt 100] é falso. |
Exemplo
Aqui está um exemplo que usa todos os operadores booleanos -
#!/bin/sh
a=10
b=20
if [ $a != $b ]
then
echo "$a != $b : a is not equal to b"
else
echo "$a != $b: a is equal to b"
fi
if [ $a -lt 100 -a $b -gt 15 ]
then
echo "$a -lt 100 -a $b -gt 15 : returns true"
else
echo "$a -lt 100 -a $b -gt 15 : returns false"
fi
if [ $a -lt 100 -o $b -gt 100 ]
then
echo "$a -lt 100 -o $b -gt 100 : returns true"
else
echo "$a -lt 100 -o $b -gt 100 : returns false"
fi
if [ $a -lt 5 -o $b -gt 100 ]
then
echo "$a -lt 100 -o $b -gt 100 : returns true"
else
echo "$a -lt 100 -o $b -gt 100 : returns false"
fi
O script acima irá gerar o seguinte resultado -
10 != 20 : a is not equal to b
10 -lt 100 -a 20 -gt 15 : returns true
10 -lt 100 -o 20 -gt 100 : returns true
10 -lt 5 -o 20 -gt 100 : returns false
Os seguintes pontos devem ser considerados ao usar os operadores -
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