Domina el manejo de opciones y parámetros en Bash para scripts robustos en Ubuntu. Aquí verás cómo imprimir argumentos con $1, $2 y $*, y cómo recuperar opciones como -a, -b y -c con un recorrido usando while, case y shift. Todo explicado de forma clara y directa.
¿Qué diferencia hay entre opciones y parámetros en Bash?
Entender la diferencia acelera el desarrollo. Un parámetro es un valor libre como «algo» o «algo más». Una opción es un modificador que inicia con un guion, como -a. Ambas se pueden enviar juntas y en cualquier orden. Por eso conviene imprimir primero los valores recibidos y luego procesarlos.
¿Cómo se imprimen los argumentos con echo?
Usar $1 y $2 para el primer y segundo parámetro.
Usar $* para listar todos los argumentos enviados.
Usar echo -e para imprimir saltos de línea.
echo"Programa opciones"echo"Opción uno enviada: $1"echo"Opción dos enviada: $2"echo"Opciones enviadas: $*"echo -e "\nRecuperar los valores"
¿Qué aporta $* frente a $1 y $2?
$1 y $2 muestran valores individuales.
$* lista todo: valores y opciones enviados.
Útil para verificar rápidamente qué llegó al script.
¿Cómo recuperar opciones y parámetros con while y case?
Para diferenciar si un argumento es una opción o un valor, se recorre la lista con while y se clasifica con case. Así se detectan patrones como -a, -b, -c. El comodín captura lo que no es opción. Finalmente, shift avanza al siguiente argumento.
while[ -n "$1"];docase"$1"in -a)echo"-a opción utilizada.";; -b)echo"-b opción utilizada.";; -c)echo"-c opción utilizada.";; *)echo"$1 no es una opción.";;esacshiftdone
¿Qué hace shift en el recorrido?
Quita el primer argumento actual.
Desplaza la lista para evaluar el siguiente.
Permite procesar todo en orden, sin perder elementos.
¿Cómo ejecutar el script con mezcla de valores y opciones?
Los valores se pasan tal cual: algo, "algo más".
Las opciones se pasan con guion: -a.
./options.sh algo "algo más" -a
Salida típica al inicio del programa:
Opción uno enviada: algo.
Opción dos enviada: algo más.
Opciones enviadas: algo algo más -a.
Y en el recorrido:
-a opción utilizada.
¿Qué buenas prácticas y habilidades se refuerzan?
Reforzar estas prácticas mejora la lectura y mantenimiento del script.
¿Qué atajos aceleran la edición en Vim?
Selección visual con Ctrl+v para bloques.
Borrado por líneas con 10dd para eliminar diez líneas.
Guardado y salida con :wq.
¿Qué detalles evitan errores al evaluar expresiones?
Dejar espacios en [ -n "$1" ].
Usar comillas para proteger argumentos con espacios.
Mantener patrones claros en case y un comodín para lo demás.
¿Cómo se integran opciones y parámetros en la lógica?
Ambos pueden venir en cualquier orden.
Usar while + case para clasificar cada elemento.
Con echo validar lo recibido antes de procesar.
¿Tienes dudas sobre while, case o shift, o quieres compartir cómo estructuras tus opciones? Comenta y sigamos mejorando juntos.