Operador OR lógico en Bash Script
-
Operador lógico
OR
(||
) en Bash -
Operador lógico
OR
(||
) con valores no booleanos -
Use el operador lógico
OR
(||
) en Bash Scripting
Explicaremos el operador lógico OR
(||
) y cómo funciona a lo largo de este artículo. También daremos ejemplos de cómo se puede usar en Bash scripting.
Operador lógico OR
(||
) en Bash
El operador lógico OR
||
procesa múltiples valores. Por lo general, se usa con valores booleanos y devuelve un valor booleano. Devuelve true
si al menos uno de los operandos es verdadero. Devuelve false
si todos los valores son falsos.
Pongamos algunos ejemplos.
True || False --> True
False || True --> True
True || True --> True
False || False --> False
Operador lógico OR
(||
) con valores no booleanos
El valor de retorno no será booleano si el operador lógico OR
(||
) se usa con valores no booleanos como cadenas y números. Considere el siguiente ejemplo.
param1 || param2 || param3
Si el valor booleano de param1
es true
, devuelve el valor de este operando y los demás operandos son ignorados. De lo contrario, se comprueba param2
.
Si su valor booleano es true
, el resultado es el valor de param2
, y el resto de operandos se ignoran. Este proceso continúa hasta el último operando.
Si el valor booleano del último operando tampoco es true
, el resultado es el valor del último operando.
El valor booleano de las siguientes expresiones es false
. El resto es true
.
0
NaN
null
undefined
""
,''
(Cuerda vacía)
Demos ejemplos de valores no booleanos.
1 || 0 --> 1
"" || 1 --> 1
"" || 0 --> 0
1 || "x" --> 1
"x" || 1 --> "x"
Use el operador lógico OR
(||
) en Bash Scripting
El operador lógico OR
(||
) es el mismo en las secuencias de comandos de Bash. Ahora, examinaremos el ejemplo con la sintaxis de secuencias de comandos de Bash.
if [ 1 -eq 2 ] || [ 1 -eq 1 ]; then
echo "The result of the operation is true"
else
echo "The result of the operation is false"
fi
En el bloque if
anterior, los operandos se asignan al operador lógico OR
(||
). El resultado es false
en la primera comparación porque 1
y 2
no son iguales.
Dado que los dos valores son iguales en la segunda comparación, son iguales, lo que da como resultado true
. Entonces, nuestro proceso se vuelve false || true
. Esta operación devuelve true
, y el primer comando echo
se ejecuta como explicamos anteriormente.
También podemos usar la bandera -o
para esta operación.
if [ 1 -eq 2 -o 3 -eq 4 ]; then
echo "The result of the operation is true"
else
echo "The result of the operation is false"
fi
La lógica de este código es la misma que la del primero. Pero esta vez, el resultado de la operación será false
, ya que ambas comparaciones son falsas. Entonces, se ejecuta el comando echo
dentro del bloque else
.
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn