Paso de parámetros y opciones

Clase 15 de 43Curso de Programación en Bash Shell

Resumen

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" ]; do
  case "$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." ;;
  esac
  shift
done

¿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.