Lógica booleana com o test

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

[ Hits: 8.970 ]

 


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

Usando o Yowsup para enviar comandos ao Shell

Anaconda died after receiving signal 9 [Resolvido]

Estendendo, à quase eternidade, a vida útil do SD card no Raspberry Pi

Alterando o MAC addrres de sua placa de rede

Kali - apt-get GPG error, invalid signature [Resolvido]

Leitura recomendada

Gravando logs dos comandos digitados

Colocando bordas em imagens em lote através de shell script

Atualizar Panda antivírus para Linux via script

Minha solução para monitorar múltiplos termômetros no Slackware

Script de backup + envio de e-mail

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts