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 5: if-then
Introducción
En esta parte del tutorial, aprenderás a usar la estructura condicional if-then en Bash. Esta estructura es fundamental para controlar el flujo de tus scripts y tomar decisiones según condiciones específicas. Con if-then
, puedes ejecutar diferentes acciones según los resultados de comandos o comparaciones.
¿Qué es una Condición if-then
?
La estructura if-then
evalúa una condición, y si esa condición se cumple (es decir, es verdadera), ejecuta un bloque de código. Si la condición no se cumple, el script simplemente continúa con el siguiente bloque.
Sintaxis Básica
La sintaxis básica de una estructura if-then
en Bash es la siguiente:
if [ condición ]; then
# código a ejecutar si la condición es verdadera
fi
Vamos a desglosar los componentes:
if
: Indica el comienzo de la estructura condicional.[ condición ]
: La condición a evaluar, que debe estar entre corchetes.then
: Si la condición es verdadera, el código dentro del bloquethen
se ejecuta.fi
: Indica el final de la estructuraif
.
Ejemplo Básico de if-then
Veamos un ejemplo donde se verifica si un archivo existe:
#!/bin/bash
# Definir el nombre del archivo
archivo="mi_archivo.txt"
# Verificar si el archivo existe
if [ -f "$archivo" ]; then
echo "El archivo $archivo existe."
fi
En este ejemplo, el comando [ -f "$archivo" ]
verifica si el archivo existe. Si existe, se imprime un mensaje en la terminal. Si no existe, no se hace nada.
Comprobación Numérica con if-then
La estructura if-then
también se puede usar para realizar comparaciones numéricas. Aquí hay algunos operadores numéricos que puedes usar dentro de un if
:
-eq
: igual a-ne
: no igual a-lt
: menor que-le
: menor o igual que-gt
: mayor que-ge
: mayor o igual que
Ejemplo de comparación numérica:
#!/bin/bash
# Definir dos números
num1=5
num2=10
# Comparar los números
if [ $num1 -lt $num2 ]; then
echo "$num1 es menor que $num2"
fi
En este ejemplo, si num1
es menor que num2
, se imprimirá un mensaje en la terminal.
Comparación de Cadenas de Texto
También puedes usar if-then
para comparar cadenas de texto en Bash. Aquí hay algunos operadores de comparación de cadenas:
=
: igual a!=
: no igual a-z
: la cadena está vacía-n
: la cadena no está vacía
Ejemplo de comparación de cadenas:
#!/bin/bash
# Definir dos cadenas de texto
cadena1="Hola"
cadena2="Mundo"
# Comparar las cadenas
if [ "$cadena1" = "$cadena2" ]; then
echo "Las cadenas son iguales"
else
echo "Las cadenas son diferentes"
fi
En este caso, se comparan dos cadenas. Si son iguales, se imprime un mensaje; de lo contrario, se imprime otro mensaje indicando que son diferentes.
Condiciones Compuestas
También puedes combinar múltiples condiciones dentro de un solo if
usando operadores lógicos como -a
(AND) o -o
(OR). Por ejemplo:
#!/bin/bash
# Definir dos números
num1=5
num2=10
# Verificar múltiples condiciones
if [ $num1 -lt 10 -a $num2 -gt 5 ]; then
echo "Ambas condiciones son verdaderas"
fi
Este ejemplo verifica si num1
es menor que 10 y num2
es mayor que 5. Si ambas condiciones son verdaderas, se ejecuta el bloque de código.
Conclusión
¡Felicidades! Ahora conoces cómo usar la estructura if-then en Bash para controlar el flujo de tus scripts. Esta estructura te permitirá crear scripts más dinámicos y con mayor capacidad de toma de decisiones.
En el siguiente tema, aprenderemos cómo expandir las condiciones if-then con la estructura if-then-else para manejar casos en los que las condiciones no se cumplen.
Próximos Pasos
En la Parte 6 del tutorial, aprenderás sobre la estructura condicional if-then-else, que te permitirá ejecutar diferentes bloques de código según se cumplan o no las condiciones.
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.