Unix / Linux - Exemple d'opérateurs booléens Shell

Les opérateurs booléens suivants sont pris en charge par Bourne Shell.

Supposons une variable a détient 10 et variable b détient 20 alors -

Opérateur La description Exemple
! C'est une négation logique. Cela inverse une condition vraie en une condition fausse et vice versa. [! false] est vrai.
-o C'est logique OR. Si l'un des opérandes est vrai, la condition devient vraie. [$ a -lt 20 -o $ b -gt 100] est vrai.
-a C'est logique AND. Si les deux opérandes sont vrais, la condition devient vraie sinon fausse. [$ a -lt 20 -a $ b -gt 100] est faux.

Exemple

Voici un exemple qui utilise tous les opérateurs booléens -

#!/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

Le script ci-dessus générera le résultat suivant -

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

Les points suivants doivent être pris en compte lors de l'utilisation des opérateurs -

  • Il doit y avoir des espaces entre les opérateurs et les expressions. Par exemple, 2 + 2 n'est pas correct; il doit être écrit 2 + 2.

  • if...then...else...fi déclaration est une déclaration de prise de décision qui a été expliquée dans le chapitre suivant.

unix-basic-operators.htm