Lógica booleana com o test

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

[ Hits: 8.893 ]

 


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

Renomeando interfaces de rede com nameif e /etc/mactab

rc.local no Arch Linux

Raspberry PI 3: Wireless integrada funcionando no Slackware ARM

Limitando a 1 login por usuário

Leitura recomendada

Base de dados mais organizada em shell script

Script para Ripar um cd inteiro

Renomeando em massa sem precisar instalar comandos adicionais

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

Atualizar Panda antivírus para Linux via script

  

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