Lógica booleana com o test

Publicado por Carlos Affonso Henriques. em 13/02/2010

[ Hits: 7.105 ]

 


Lógica booleana com o test



Precisei disso outro dia e pode ser muito útil para quem deseja testar mais de uma condição com o test do shell Bash.

Vejam o exemplo do AND:

if [ 0 = 0 ] & [ 2 != 3 ] & [ 4 != 5 ]; then
   echo "Condição AND satisfeita"
else
   echo "Não atende condição AND"
fi

No caso acima será verdadeiro se zero for igual a zero, dois for diferente de três e quatro diferente de 5.

Agora vamos ver o OR ou OU:

if [ 2 = 3 ] || [ 1 = 0 ]; then
   echo "Atende OU, pelo menos uma das condições é verdadeira"
else
   echo "Não atende OU nenhuma das condições e verdadeira"
fi

No exemplo acima será falso pois ambas as condições são falsas: dois é diferente de três e um é diferente de zero e o OU requer que pelo menos uma das condições seja verdadeira.

Bom trabalho a todos!

Outras dicas deste autor

Acertando o relógio do sistema via http e DNS

CBQ: Controle efetivo II

Raspberry PI 3: Wireless integrada funcionando no Slackware ARM

sed formatando CPF, CNPJ e datas

Alterando o MAC addrres de sua placa de rede

Leitura recomendada

Renomeando extensões de centenas de arquivos de uma só vez

Quantos comandos digitei nesse terminal?

Exibindo mensagens ao efetuar login

Instalando Astah Community no Deepin OS

Atualizando o Ubuntu com uma linha

  

Comentários
[1] Comentário enviado por SMarcell em 14/02/2010 - 17:53h

Complementando...

Sem necessidade de se utilizar vários colchetes:

if [ 0 = 0 -a 2 != 3 -a 4 != 5 ]
then
...
fi

if [ 2 = 3 -o 1 = 0 ]
then
...
fi

OU

if [[ 0 = 0 && 2 != 3 && 4 != 5 ]]
then
...
fi

if [[ 2 = 3 || 1 = 0 ]]
then
...
fi



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts