#!/bin/bash # ======================= # # 🎯 Colores personalizados # ======================= # RED='\033[1;91m' GREEN='\033[1;92m' CYAN='\033[1;96m' YELLOW='\033[1;93m' MAGENTA='\033[1;95m' BOLD='\033[1m' NC='\033[0m' # Sin color # ======================= # # 👋 Función al salir # ======================= # function despedida() { echo -e "\n${MAGENTA}${BOLD}👋 Gracias por usar el script. ¡Hasta luego!${NC}" exit 0 } # Capturar Ctrl + C trap despedida SIGINT # ======================= # # 🖥️ Título del script # ======================= # echo -e "${CYAN}${BOLD}==============================" echo -e " PING LOOP SCRIPT" echo -e "==============================${NC}" # ======================= # # 🔧 Solicitar parámetros # ======================= # read -p "$(echo -e "${YELLOW}${BOLD}🌐 Introduce la web o IP a hacer ping: ${NC}")" destino read -p "$(echo -e "${YELLOW}${BOLD}⏱️ Intervalo entre intentos fallidos (en segundos): ${NC}")" intervalo # ======================= # # 🔁 Bucle de ping # ======================= # contador=0 while true; do ((contador++)) timestamp=$(date '+%Y-%m-%d %H:%M:%S') salida_ping=$(ping -c1 -W1 -w5 "$destino" 2>&1) if echo "$salida_ping" | grep -q 'time='; then rtt=$(echo "$salida_ping" | sed -n 's/.*time=\([0-9.]* ms\).*/\1/p') echo -e "${GREEN}${BOLD}[✓] Intento $contador - $timestamp - Respuesta de $destino: $rtt${NC}" break else echo -e "${RED}${BOLD}[✗] Intento $contador - $timestamp - Sin respuesta de $destino${NC}" sleep "$intervalo" fi done # Mensaje final (en caso de salir por éxito) despedida