El comando getopts
en Bash se utiliza para analizar opciones y argumentos de línea de comandos en scripts. Permite a los desarrolladores manejar entradas de usuario de manera estructurada, facilitando la creación de scripts más robustos y flexibles.
La sintaxis básica del comando getopts
es la siguiente:
getopts [options] [arguments]
-a
: Permite especificar opciones adicionales.-l
: Permite el uso de opciones largas.-n
: Establece el nombre del script que se mostrará en los mensajes de error.Este ejemplo muestra cómo analizar opciones simples con getopts
.
#!/bin/bash
while getopts "ab:c" opt; do
case $opt in
a)
echo "Opción A activada"
;;
b)
echo "Opción B con argumento: $OPTARG"
;;
c)
echo "Opción C activada"
;;
*)
echo "Opción no válida"
;;
esac
done
Aquí se muestra cómo usar getopts
con opciones largas.
#!/bin/bash
while getopts ":a:b:c:" opt; do
case $opt in
a)
echo "Opción A activada"
;;
b)
echo "Opción B con argumento: $OPTARG"
;;
c)
echo "Opción C activada"
;;
\?)
echo "Opción no válida: -$OPTARG" >&2
;;
:)
echo "La opción -$OPTARG requiere un argumento." >&2
;;
esac
done
Este ejemplo muestra cómo manejar errores con getopts
.
#!/bin/bash
while getopts ":a:b:c" opt; do
case $opt in
a)
echo "Opción A activada"
;;
b)
echo "Opción B con argumento: $OPTARG"
;;
c)
echo "Opción C activada"
;;
\?)
echo "Opción no válida: -$OPTARG" >&2
;;
:)
echo "La opción -$OPTARG requiere un argumento." >&2
;;
esac
done
OPTIND
para restablecer el índice de opciones si necesitas volver a analizar argumentos.while
para manejar múltiples opciones de manera eficiente.