Temario para este Tutorial
- Parte 1: Shebang y permisos de ejecución
- Parte 2: Mi primer script
- Parte 3: Uso de variables
- Parte 4: Substitución de comandos
- Parte 5: if-then
- Parte 6: if-then-else
- Parte 7: Comparación Numérica
- Parte 8: Comparación de Cadenas
- Parte 9: Comparación de Archivos
- Parte 10: Mi script en BASH
Parte 8: Comparación de Cadenas
Introducción
En esta parte del tutorial, aprenderás cómo realizar comparaciones de cadenas de texto en Bash. Las comparaciones de cadenas son esenciales cuando necesitas validar o manipular datos textuales en tus scripts. En Bash, puedes comparar dos cadenas para verificar si son iguales, diferentes o si cumplen otras condiciones.
Operadores de Comparación de Cadenas
En Bash, puedes usar los siguientes operadores para comparar cadenas de texto:
=
: Igual a!=
: No igual a-z
: Verifica si una cadena está vacía-n
: Verifica si una cadena no está vacía
Ejemplo de Comparación de Cadenas Básica
Aquí tienes un ejemplo donde se comparan dos cadenas para ver si son iguales o diferentes:
#!/bin/bash
cadena1="Hola"
cadena2="Mundo"
if [ "$cadena1" = "$cadena2" ]; then
echo "Las cadenas son iguales"
else
echo "Las cadenas son diferentes"
fi
En este ejemplo, el script compara cadena1
y cadena2
. Si ambas cadenas son iguales, se imprime un mensaje; de lo contrario, se imprime que son diferentes.
Verificar si una Cadena está Vacía
En Bash, puedes usar el operador -z
para verificar si una cadena está vacía, y -n
para comprobar si no lo está. Aquí tienes un ejemplo:
#!/bin/bash
cadena=""
if [ -z "$cadena" ]; then
echo "La cadena está vacía"
else
echo "La cadena no está vacía"
fi
En este caso, el script verifica si la variable cadena
está vacía. Si es así, imprime un mensaje indicando que la cadena está vacía. Si no está vacía, se imprime el mensaje correspondiente.
Comparación de Cadenas con Entrada del Usuario
También puedes solicitar al usuario que ingrese una cadena y luego compararla con otra. Este es un ejemplo donde el usuario debe introducir una palabra para compararla con una cadena definida:
#!/bin/bash
echo "Introduce una palabra:"
read palabra
if [ "$palabra" = "Bash" ]; then
echo "Has introducido Bash"
else
echo "No has introducido Bash"
fi
En este ejemplo, el script compara la entrada del usuario con la cadena Bash
. Si el usuario introduce “Bash”, se imprime un mensaje; si introduce otra cosa, se imprime un mensaje diferente.
Comparación Insensible a Mayúsculas y Minúsculas
En ocasiones, es útil realizar comparaciones de cadenas sin importar si están en mayúsculas o minúsculas. Para hacer esto, puedes convertir las cadenas a minúsculas o mayúsculas antes de compararlas. Aquí tienes un ejemplo:
#!/bin/bash
echo "Introduce una palabra:"
read palabra
# Convertir la cadena a minúsculas
palabra_min=$(echo "$palabra" | tr '[:upper:]' '[:lower:]')
if [ "$palabra_min" = "bash" ]; then
echo "Has introducido Bash (sin importar mayúsculas o minúsculas)"
else
echo "No has introducido Bash"
fi
Este script convierte la entrada del usuario a minúsculas usando tr
y luego realiza la comparación. Esto permite que el usuario introduzca “Bash”, “BASH”, “bash” o cualquier combinación de mayúsculas y minúsculas, y el resultado será el mismo.
Condiciones Múltiples con Cadenas
También puedes combinar varias comparaciones de cadenas en una sola estructura if
, usando operadores lógicos como -a
(AND) o -o
(OR). Aquí tienes un ejemplo donde se verifica si una cadena no está vacía y es igual a una palabra específica:
#!/bin/bash
cadena="Hola"
if [ -n "$cadena" -a "$cadena" = "Hola" ]; then
echo "La cadena es 'Hola' y no está vacía"
else
echo "La cadena no cumple las condiciones"
fi
En este ejemplo, el script verifica si la cadena no está vacía y si es igual a “Hola”. Si ambas condiciones son verdaderas, se imprime un mensaje; de lo contrario, se imprime el mensaje alternativo.
Conclusión
¡Enhorabuena! Ahora conoces cómo realizar comparaciones de cadenas en Bash. Esta habilidad te permitirá manipular datos textuales de manera más flexible en tus scripts, haciéndolos más robustos y eficientes.
En el siguiente tema, aprenderemos cómo comparar archivos en Bash, lo que te permitirá trabajar con datos almacenados en el sistema de archivos.
Próximos Pasos
En la Parte 9 del tutorial, aprenderás cómo realizar comparaciones de archivos en Bash, lo que te permitirá verificar la existencia y el estado de archivos en tus scripts.
Si te ha gustado este tutorial, ¡no dudes en compartirlo o dejar un comentario! Tu apoyo es muy valioso para seguir creando más contenido.