Comprender las operaciones lógicas básicas en Linux
La shell de Linux proporciona varias formas de combinar comandos y condiciones utilizando operadores lógicos. En este paso, aprenderá sobre los operadores lógicos más comúnmente utilizados: &&
(AND) y ||
(OR).
Primero, naveguemos hasta nuestro directorio de proyecto:
cd ~/project
Comencemos creando algunos archivos de prueba que usaremos a lo largo de este laboratorio:
touch treasure_map.txt shield.txt kings_gauntlet.txt
Ahora, creemos un script para demostrar las operaciones lógicas básicas. Usaremos el editor de texto nano
para crear un archivo llamado logic_basics.sh
:
nano logic_basics.sh
En este script, usaremos operadores lógicos para verificar si dos archivos existen. Escriba o pegue el siguiente código en el editor:
#!/bin/bash
## This script demonstrates logical AND (&&) and OR (||) operators
## It checks if two specific files exist in the current directory
if [[ -f "treasure_map.txt" ]] && [[ -f "shield.txt" ]]; then
echo "Both files exist. Proceed with the mission."
else
echo "One or both files are missing. Abort the mission!"
fi
El operador &&
significa "AND" - ambas condiciones deben ser verdaderas para que la condición general sea verdadera.
La prueba -f
verifica si un archivo existe y es un archivo regular (no un directorio u otro tipo de archivo especial).
Para guardar el archivo en nano, presione Ctrl+X
, luego presione Y
para confirmar el guardado y presione Enter
para confirmar el nombre del archivo.
Ahora, hagamos el script ejecutable y ejecutémoslo:
chmod +x logic_basics.sh
./logic_basics.sh
Debería ver la salida:
Both files exist. Proceed with the mission.
Intentemos otro ejemplo para entender mejor los operadores lógicos. Cree un nuevo script llamado logical_or.sh
:
nano logical_or.sh
Agregue el siguiente contenido:
#!/bin/bash
## This script demonstrates the logical OR (||) operator
## It checks if at least one of two files exists
if [[ -f "treasure_map.txt" ]] || [[ -f "nonexistent_file.txt" ]]; then
echo "At least one file exists."
else
echo "Neither file exists."
fi
El operador ||
significa "OR" - si cualquiera de las condiciones es verdadera, la condición general es verdadera.
Guarde el archivo (Ctrl+X, Y, Enter), hágalo ejecutable y ejecútelo:
chmod +x logical_or.sh
./logical_or.sh
Salida:
At least one file exists.
Esto demuestra que, aunque "nonexistent_file.txt" no existe, la condición sigue siendo verdadera porque "treasure_map.txt" sí existe.