Cuaderno · 14 de noviembre de 2026
Bucles de Bash que uso a menudo
bash
Recorrer ficheros, líneas y rangos sin romperse con espacios.
Por cada fichero (aguanta espacios en los nombres):
for f in *.log; do echo "$f"; done
Por cada línea de un fichero:
while IFS= read -r linea; do echo "$linea"; done < lista.txt
Un rango de IPs, por ejemplo para un ping rápido:
for i in {1..254}; do ping -c1 -W1 192.168.1.$i >/dev/null && echo "192.168.1.$i responde" & done; wait
Reintentar un comando hasta que funcione (máximo 5 veces):
for n in {1..5}; do comando && break; echo "intento $n falló"; sleep $((n*2)); done