¿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
Trabajar con arrays
En esta lección guardarás varios valores en una sola variable y los recorrerás.
Un array se crea con paréntesis y elementos separados por espacios: fruits=("manzana" "naranja" "uva"). Para recorrerlo se escribe "${fruits[@]}", con las comillas y las llaves incluidas.
El código de ejemplo guarda tres frutas y las imprime una por línea.
Esa expresión "${fruits[@]}" parece exagerada, pero cada parte hace falta. Sin comillas, un elemento con espacios se partiría en varios. Con [*] en lugar de [@], todos los elementos se unirían en una sola cadena. Y sin llaves no se reconoce como acceso al array. Merece la pena memorizarla entera tal cual.
Conviene saber también que los arrays son cosa de bash y no existen en el sh clásico. Si tu guion lleva #!/bin/sh, no funcionarán. Es un motivo más para poner siempre #!/bin/bash cuando uses estas cosas.
🧪 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.
