Unix / Linux - Ejemplo de operadores booleanos de Shell
Los siguientes operadores booleanos son compatibles con Bourne Shell.
Asumir variable a tiene 10 y variable b sostiene 20 entonces -
Operador | Descripción | Ejemplo |
---|---|---|
! | Esta es la negación lógica. Esto invierte una condición verdadera en falsa y viceversa. | [! falso] es cierto. |
-o | Esto es lógico OR. Si uno de los operandos es verdadero, entonces la condición se vuelve verdadera. | [$ a -lt 20 -o $ b -gt 100] es cierto. |
-a | Esto es lógico AND. Si ambos operandos son verdaderos, entonces la condición se vuelve verdadera en caso contrario es falsa. | [$ a -lt 20 -a $ b -gt 100] es falso. |
Ejemplo
Aquí hay un ejemplo que usa todos los operadores booleanos:
#!/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
El script anterior generará el siguiente resultado:
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
Los siguientes puntos deben tenerse en cuenta al utilizar los operadores:
Debe haber espacios entre los operadores y las expresiones. Por ejemplo, 2 + 2 no es correcto; debe escribirse como 2 + 2.
if...then...else...fi declaración es una declaración de toma de decisiones que se explica en el capítulo siguiente.
operadores-básicos-unix.htm