LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

En muchas tareas de administración de sistemas necesitamos detener la ejecución de un script y esperar la intervención del usuario. Ya sea para confirmar una acción crítica o simplemente para dar tiempo antes de continuar, disponer de una pausa controlada es fundamental.

En este artículo te mostramos un script en Bash sencillo pero muy útil que permite:

  • Esperar indefinidamente hasta que el usuario pulse una tecla
  • Esperar un tiempo determinado (5, 10, 15 o 30 segundos)
  • Permitir interrumpir la espera pulsando una tecla
  • Devolver un código de salida compatible con estructuras if

⚙️ Script: espera.sh

#!/bin/bash
#
# Previamente hemos copiado el script a: /usr/local/bin
#

# Uso:
# if espera.sh ; then # echo "SI" # else # echo "NO" # fi # Función de lectura leer_tecla() { local timeout=$1 if [ -z "$timeout" ]; then echo -n "Pulse una tecla para continuar... (o 's' o 'n' para confirmar): " read -n 1 key else echo -n "Pulse una tecla ($timeout s)... (o 's' o 'n' para confirmar): " read -t "$timeout" -n 1 key fi # Si hay timeout, la variable puede quedar vacía # (Esta parte es opcional, yo se la tengo desactivado, así comentado). # if [ -z "$key" ]; then # echo -e "\nTiempo agotado." # return 1 # fi # echo "" if [ "$key" == 's' ] || [ "$key" == 'S' ]; then return 0 else return 1 fi } # Control de parámetros case "$1" in -5) leer_tecla 5 ;; -10) leer_tecla 10 ;; -15) leer_tecla 15 ;; -30) leer_tecla 30 ;; "") leer_tecla ;; *) echo "Uso: $0 [-5 | -10 | -15 | -30]" exit 1 ;; esac exit $?

🚀 ¿Qué hace este script?

Este script implementa una pausa interactiva que puede funcionar en dos modos:

🔹 Modo interactivo (sin parámetros)

./espera.sh
  • Espera indefinidamente
  • El usuario decide cuándo continuar
  • Ideal para validaciones manuales

🔹 Modo con temporizador

./espera.sh -10
  • Espera un máximo de 10 segundos
  • Se puede interrumpir en cualquier momento pulsando una tecla
  • Si no hay interacción → continúa automáticamente

🔁 Integración en scripts

Una de las grandes ventajas es que devuelve códigos de salida estándar:

  • 0 → confirmación positiva (s o S)
  • 1 → cualquier otra tecla o timeout

Esto permite integrarlo fácilmente en automatizaciones:

if espera.sh -5 ; then
  echo "Acción confirmada"
else
  echo "Acción cancelada o timeout"
fi

💡 Casos de uso reales

Este tipo de script resulta especialmente útil en:

  • Scripts de despliegue antes de aplicar cambios críticos
  • Automatizaciones con validación manual opcional
  • Procesos de mantenimiento en servidores
  • Flujos de backup o borrado de datos
  • Sistemas híbridos (automatización + intervención humana)

🧠 Ventajas clave

  • ✔️ Ligero y sin dependencias
  • ✔️ Compatible con cualquier sistema Linux
  • ✔️ Fácil de integrar en scripts existentes
  • ✔️ Mejora el control y la seguridad en tareas automatizadas

🔧 Instalación

chmod +x espera.sh
mv espera.sh /usr/local/bin

📌 Conclusión

A veces, un pequeño script puede marcar una gran diferencia en la seguridad y control de nuestros sistemas. Este tipo de pausas inteligentes permiten combinar automatización con supervisión humana de forma sencilla y efectiva.

Si trabajas habitualmente con Bash, este script es uno de esos pequeños “must-have” que acaban formando parte de tu toolkit diario.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

 

Tutorial de Linux

Top 15 artículos por Fecha

Viendo artículos de: Marzo de 2026

Filtro por Categorías