Tutorial de Shell Scripting Parte 8

Tutorial de Shell Scripting Parte 8

Temario para este Tutorial

 

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.