Tutorial de Shell Scripting Parte 7

Tutorial de Shell Scripting Parte 7

Temario para este Tutorial

 

Parte 7: Comparación Numérica

Introducción

En esta parte del tutorial, aprenderás a realizar comparaciones numéricas en Bash. Las comparaciones numéricas son esenciales cuando trabajas con datos numéricos en tus scripts y quieres ejecutar acciones basadas en condiciones como si un número es mayor, menor o igual a otro.

Operadores de Comparación Numérica

En Bash, puedes usar una serie de operadores de comparación numérica dentro de estructuras if para evaluar números. Aquí te dejo los operadores más comunes:

  • -eq: igual a
  • -ne: no igual a
  • -lt: menor que
  • -le: menor o igual que
  • -gt: mayor que
  • -ge: mayor o igual que

Estos operadores te permiten realizar comparaciones numéricas dentro de una condición if para evaluar diferentes situaciones y controlar el flujo de tu script.

Ejemplo de Comparación Numérica Básica

Veamos un ejemplo simple donde se compara si un número es mayor que otro:


#!/bin/bash

numero1=15
numero2=10

if [ $numero1 -gt $numero2 ]; then
    echo "$numero1 es mayor que $numero2"
else
    echo "$numero1 es menor o igual que $numero2"
fi

En este ejemplo, el script compara los valores de numero1 y numero2. Si numero1 es mayor, imprime un mensaje indicando esto; de lo contrario, imprime que numero1 es menor o igual.

Comparaciones Múltiples

También puedes combinar varias comparaciones numéricas usando operadores lógicos como -a (AND) o -o (OR). Esto es útil cuando necesitas verificar varias condiciones al mismo tiempo.

Por ejemplo, si quisieras verificar si un número está en un rango específico, podrías hacerlo así:


#!/bin/bash

numero=25

if [ $numero -ge 10 -a $numero -le 30 ]; then
    echo "El número está entre 10 y 30"
else
    echo "El número no está en el rango"
fi

En este caso, el script verifica si el número está entre 10 y 30. Si ambas condiciones son verdaderas, imprime el mensaje que indica que el número está en el rango; de lo contrario, muestra un mensaje alternativo.

Comparación Numérica con Variables de Usuario

También puedes hacer que el script pida al usuario que ingrese números y luego compararlos. Aquí tienes un ejemplo donde el usuario ingresa dos números y se comparan:


#!/bin/bash

# Solicitar dos números al usuario
echo "Introduce el primer número:"
read numero1
echo "Introduce el segundo número:"
read numero2

# Comparar los números
if [ $numero1 -gt $numero2 ]; then
    echo "$numero1 es mayor que $numero2"
elif [ $numero1 -lt $numero2 ]; then
    echo "$numero1 es menor que $numero2"
else
    echo "$numero1 es igual a $numero2"
fi

En este ejemplo, el script solicita al usuario dos números y luego los compara. Dependiendo de los valores ingresados, se imprime un mensaje indicando cuál número es mayor, menor o si son iguales.

Verificar si un Número es Positivo, Negativo o Cero

Otra situación común es verificar si un número es positivo, negativo o cero. Aquí tienes un ejemplo de cómo hacerlo:


#!/bin/bash

echo "Introduce un número:"
read numero

if [ $numero -gt 0 ]; then
    echo "El número es positivo."
elif [ $numero -lt 0 ]; then
    echo "El número es negativo."
else
    echo "El número es cero."
fi

En este ejemplo, el script verifica si el número ingresado es mayor que 0 (positivo), menor que 0 (negativo) o igual a 0.

Conclusión

¡Felicidades! Ahora sabes cómo realizar comparaciones numéricas en Bash. Esto te permitirá crear scripts más poderosos y útiles, especialmente cuando necesites trabajar con datos numéricos o realizar validaciones condicionales.

En el próximo tema, aprenderemos a realizar comparaciones de cadenas de texto en Bash, lo que te permitirá manipular y comparar datos no numéricos.

Próximos Pasos

En la Parte 8 del tutorial, aprenderás sobre la comparación de cadenas de texto en Bash, una habilidad clave para manipular y procesar datos textuales.

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.

Comentarios

Aún no hay comentarios. ¿Por qué no comienzas el debate?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *