¿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
Escribir tu propia función
En esta lección agruparás un trozo de lógica bajo un nombre para poder reutilizarlo.
Una función se declara como nombre() { ... } y se llama escribiendo su nombre, sin paréntesis y sin comas: greet "Carlos". Dentro, los argumentos llegan como $1, $2..., igual que en el guion principal.
El código de ejemplo define una función que saluda y la llama con un nombre.
Eso de llamarla como si fuera un comando es lo que más descoloca al venir de otros lenguajes. Tiene su lógica: en shell, una función es indistinguible de un comando externo desde el punto de vista de quien la usa, y por eso se invoca igual.
Un punto importante: las variables de una función son globales por defecto. Si dentro asignas count=0, estás pisando cualquier count de fuera. Para evitarlo se declara local count=0, y conviene hacerlo siempre; es la causa de errores especialmente difíciles de encontrar en guiones largos.
🧪 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.
