¿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 texto (expansión de parámetros)
En esta lección medirás una cadena y extraerás una parte de ella sin llamar a ningún comando externo.
${#variable} da la longitud y ${variable:0:5} extrae cinco unidades desde la posición 0. Todo esto lo hace el propio shell, sin lanzar wc ni cut.
El código de ejemplo muestra la longitud del texto y sus primeros cinco caracteres.
Y aquí hay algo que sorprende incluso a quien lleva años escribiendo guiones: el resultado depende de la configuración regional. Con una configuración UTF-8, que es lo normal hoy, el texto del ejemplo mide 13 y los primeros cinco caracteres son ¡Hola. Pero con LC_ALL=C el mismo guion cuenta bytes: la longitud sale 14, y el corte devuelve ¡Hol, cuatro letras, porque el signo ¡ ocupa dos bytes. Si un guion te da números distintos en tu portátil y en el servidor, esta suele ser la causa.
La expansión de parámetros hace bastante más que esto: ${archivo%.txt} quita el sufijo, ${ruta##*/} se queda con el nombre del archivo y ${var:-valor} aporta un valor por defecto. Aprenderlas evita llamar a comandos externos dentro de bucles, lo que en guiones grandes se nota mucho en velocidad.
🧪 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.
