Lógica booleana com o test

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

[ Hits: 8.414 ]

 


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

Anaconda died after receiving signal 9 [Resolvido]

Atualizando a BIOS de máquinas virtuais baseadas em KVM/QEMU

Alterando permanentemente o MAC address da Ethernet do Raspberry Pi

Alterando o MAC addrres de sua placa de rede

Slax como USB live

Leitura recomendada

Controle de usuários logados

Novo script de autenticação para o Velox da Telemar

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

Utilizando o chmod parar mudar permissões em arquivos

Transposição COLUNA x 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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts