¿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
Usar variables
En esta lección guardarás valores en variables y los insertarás dentro de un texto.
Una variable se asigna con nombre=valor y se lee anteponiendo $. Las llaves de ${name} delimitan dónde acaba el nombre, algo necesario cuando le sigue un carácter que podría formar parte de él.
El código de ejemplo guarda un nombre y una edad y los muestra en una sola frase.
Ahora la regla que más se olvida y más rabia da: alrededor del = no puede haber espacios. Escribir name = "Ana" hace que el shell interprete name como un comando y responda command not found. Es de las cosas que se aprenden una vez y no se olvidan.
La otra costumbre que conviene adoptar desde el principio es entrecomillar siempre las variables: "$name" en vez de $name. Sin comillas, un valor que contenga espacios se parte en varios argumentos, y ese es el origen de una cantidad enorme de guiones que funcionan hasta que alguien usa un nombre de archivo con un espacio.
🧪 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.
