Paso de parámetros y opciones
Clase 15 de 43 • Curso de Programación en Bash Shell
Contenido del curso
Programación Shell Básica
Script Interactivos
Condicionales
Iteración
Archivos
Empaquetamiento
Funciones
Cierre del curso
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.