¿Ya dominas lo básico? Un curso estructurado de shell scripting es la vía rápida para dar el salto.
Ver cursos de shell scripting en UdemyEnlace de afiliado. No te cuesta nada extra.
- 01Preparar el entorno (lo que necesitas)
- 02Tu primer guion (echo)
- 03Usar variables
- 04Argumentos de la línea de órdenes ($1, $2 ...)
- 05Condicionales (la sentencia if)
- 06Repetir (el bucle for)
- 07Repetir (el bucle while)
- 08Escribir tu propia función
- 09Trabajar con arrays
- 10Sustitución de comandos ($())
- 11Trabajar con texto (expansión de parámetros)
- 12Leer de la entrada estándar (read)
- 13Estado de salida y && / ||
- 14Tuberías y redirección
- 15La sentencia case
- 16Aritmética ($(( )))
- 17Lo básico de grep, sed y awk
- 18Comprobación de argumentos y manejo de errores
- 19Valores devueltos por funciones y códigos de salida
- 20[Proyecto] Construye un contador de registros
Repetir (el bucle while)
En esta lección repetirás un bloque mientras se cumpla una condición.
La forma es while [ condición ]; do ... done. Para sumar en una variable se usa $(( )), que evalúa una expresión aritmética.
El código de ejemplo cuenta del 1 al 3, y la línea del incremento es la que hace que el bucle termine.
Sin esa línea, la condición nunca deja de cumplirse y el guion se queda dando vueltas; se corta con Ctrl+C. Conviene acostumbrarse a mirar, al escribir un while, qué línea concreta cambiará la condición.
El uso más frecuente de while en shell no es contar, sino leer un archivo línea a línea: while IFS= read -r line; do ... done < archivo.txt. Ese IFS= evita que se recorten los espacios de los extremos y el -r impide que las barras invertidas se interpreten; sin esos dos detalles el texto llega alterado. Es una fórmula que conviene copiar tal cual.
🧪 Este sitio no puede compilar ni ejecutar Shell Script directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).
🔗 El mismo tema en otros lenguajes
Mira cómo se escribe lo mismo en otro lenguaje.
