Las sentencias condicionales son fundamentales en cualquier lenguaje de programación, y Bash no es la excepción. Estas sentencias permiten que tu script tome decisiones basadas en ciertas condiciones, lo que es esencial para crear scripts dinámicos y útiles.
Conceptos Clave
- Sentencia
if: Evalúa una condición y ejecuta un bloque de código si la condición es verdadera. - Sentencia
if-else: Evalúa una condición y ejecuta un bloque de código si la condición es verdadera, y otro bloque si la condición es falsa. - Sentencia
if-elif-else: Permite evaluar múltiples condiciones en secuencia. - Sentencia
case: Similar aswitchen otros lenguajes, permite evaluar una variable contra múltiples patrones.
Sentencia if
La estructura básica de una sentencia if en Bash es la siguiente:
Ejemplo
En este ejemplo, el script imprimirá "El número es mayor que 5" porque la condición $num -gt 5 (10 es mayor que 5) es verdadera.
Sentencia if-else
La estructura básica de una sentencia if-else es:
if [ condición ]; then
# Bloque de código si la condición es verdadera
else
# Bloque de código si la condición es falsa
fiEjemplo
#!/bin/bash
num=3
if [ $num -gt 5 ]; then
echo "El número es mayor que 5"
else
echo "El número no es mayor que 5"
fiEn este caso, el script imprimirá "El número no es mayor que 5" porque la condición $num -gt 5 (3 no es mayor que 5) es falsa.
Sentencia if-elif-else
La estructura básica de una sentencia if-elif-else es:
if [ condición1 ]; then
# Bloque de código si condición1 es verdadera
elif [ condición2 ]; then
# Bloque de código si condición2 es verdadera
else
# Bloque de código si ninguna condición es verdadera
fiEjemplo
#!/bin/bash
num=7
if [ $num -gt 10 ]; then
echo "El número es mayor que 10"
elif [ $num -gt 5 ]; then
echo "El número es mayor que 5 pero menor o igual a 10"
else
echo "El número es 5 o menor"
fiEn este ejemplo, el script imprimirá "El número es mayor que 5 pero menor o igual a 10" porque la condición $num -gt 5 (7 es mayor que 5) es verdadera.
Sentencia case
La estructura básica de una sentencia case es:
case variable in
patrón1)
# Bloque de código si variable coincide con patrón1
;;
patrón2)
# Bloque de código si variable coincide con patrón2
;;
*)
# Bloque de código si variable no coincide con ningún patrón
;;
esacEjemplo
#!/bin/bash
day="lunes"
case $day in
"lunes")
echo "Hoy es lunes"
;;
"martes")
echo "Hoy es martes"
;;
*)
echo "No es lunes ni martes"
;;
esacEn este ejemplo, el script imprimirá "Hoy es lunes" porque la variable day coincide con el patrón "lunes".
Ejercicios Prácticos
Ejercicio 1: Verificar si un Número es Par o Impar
Instrucciones: Escribe un script que verifique si un número dado es par o impar.
Solución:
#!/bin/bash
read -p "Introduce un número: " num
if [ $((num % 2)) -eq 0 ]; then
echo "El número $num es par"
else
echo "El número $num es impar"
fiEjercicio 2: Clasificar una Calificación
Instrucciones: Escribe un script que clasifique una calificación numérica (0-100) en letras (A, B, C, D, F).
Solución:
#!/bin/bash
read -p "Introduce una calificación (0-100): " grade
if [ $grade -ge 90 ]; then
echo "Calificación: A"
elif [ $grade -ge 80 ]; then
echo "Calificación: B"
elif [ $grade -ge 70 ]; then
echo "Calificación: C"
elif [ $grade -ge 60 ]; then
echo "Calificación: D"
else
echo "Calificación: F"
fiResumen
En esta sección, hemos aprendido sobre las sentencias condicionales en Bash, incluyendo if, if-else, if-elif-else y case. Estas estructuras permiten que tus scripts tomen decisiones basadas en condiciones, lo que es esencial para crear scripts dinámicos y útiles. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión de estos conceptos. En el próximo módulo, exploraremos los bucles en Bash, que te permitirán ejecutar bloques de código repetidamente bajo ciertas condiciones.
Curso de Programación en Bash
Módulo 1: Introducción a Bash
- ¿Qué es Bash?
- Configurando tu Entorno
- Navegación Básica en la Línea de Comandos
- Entendiendo el Shell
Módulo 2: Comandos Básicos de Bash
- Operaciones con Archivos y Directorios
- Comandos de Procesamiento de Texto
- Permisos y Propiedad de Archivos
- Redirección y Tuberías
Módulo 3: Fundamentos de Scripting
Módulo 4: Scripting Intermedio
Módulo 5: Técnicas Avanzadas de Scripting
- Operaciones Avanzadas con Archivos
- Gestión de Procesos
- Manejo de Errores y Depuración
- Expresiones Regulares
Módulo 6: Trabajando con Herramientas Externas
Módulo 7: Automatización y Programación
Módulo 8: Mejores Prácticas y Optimización
- Escribiendo Código Legible
- Optimizando Scripts en Bash
- Consideraciones de Seguridad
- Control de Versiones con Git
