Domina la ejecución de scripts Bash con argumentos y usa con seguridad las variables especiales para recuperar el nombre del programa, contar parámetros y listarlos. Aquí verás cómo mapear argumentos a variables, cuándo usar comillas y cómo ejecutar paso a paso en Ubuntu, tal como se mostró en el ejemplo.
¿Qué son los argumentos en Bash y para qué sirven?
Los argumentos permiten pasar datos a un programa al momento de ejecutarlo. En Bash, se accede a cada argumento con $1, $2, … y, si hay más de nueve, con ${10}, ${11}, …. También puedes obtener el nombre del script con $0, conocer cuántos argumentos llegaron con $# y ver todos los argumentos con $*.
$0: nombre del script invocado.
$1, $2…$9: argumentos del 1 al 9.
${10}: argumento 10 en adelante.
$#: cantidad total de argumentos.
$*: todos los argumentos en una sola cadena.
¿Cómo se usan las variables especiales $0, $1, ${10}, $# y $*?
La referencia a cada argumento es directa. Por ejemplo, el primer argumento se asigna con $1 a una variable y el segundo con $2. Luego, puedes imprimirlos con echo. Para conocer cuántos llegaron, usa $#; para mostrarlos todos, $*.
Asignar el primer argumento: variable="$1".
Asignar el segundo argumento: variable="$2".
Contar argumentos: $# imprime la cantidad enviada.
Listar todos: $* devuelve la lista en una sola expansión.
¿Cómo referenciar del argumento 10 en adelante?
A partir del argumento 10 debes usar llaves para evitar ambigüedad.
Usar ${10} y no $10.
Aplicar lo mismo para ${11}, ${12}, etc.
¿Cuándo poner comillas en los argumentos?
Cuando el argumento tiene espacios, envuélvelo entre comillas para que Bash lo trate como un solo valor.
Ejemplo: "Programación Bash" es un único argumento.
Sin comillas, se dividiría en varios argumentos.
¿Cómo crear y ejecutar un script que reciba argumentos?
El flujo mostrado fue: crear el archivo, definir la cabecera de Bash, declarar variables a partir de $1 y $2, imprimir con echo, guardar, dar permisos de ejecución (+x) y ejecutar con ./ seguido de los argumentos.
¿Qué estructura mínima tiene el script de ejemplo?
#!/bin/bash# Nombre: argumentos.sh# Descripción: ejemplo del paso de argumentos.nombre_curso="$1"horario_curso="$2"echo"El nombre del curso es: $nombre_curso, dictado en el horario de: $horario_curso"echo"El número de parámetros enviados es: $#"echo"Los parámetros enviados son: $*"
Guardar y salir: :wq.
Dar permisos de ejecución: aplicar +x al archivo.
Ejecutar: ./argumentos.sh "Programación Bash" "seis a ocho".
¿Quieres que revisemos más patrones de uso con $# y $* o casos con más de nueve argumentos usando ${10}? Deja tu pregunta y ejemplo en los comentarios.