Índice

Análisis de las opciones de un script con getopts

Sintaxis

getopts lista-opciones-esperadas opción

El comando interno getopts permite a un script analizar las opciones que le han sido pasadas como argumento. Cada llamada a getopts analiza la opción siguiente de la línea de comandos. Para verificar la validez de cada una de las opciones, hay que llamar a getopts desde un bucle.

Definición de una opción

Para getopts, una opción se compone de un carácter precedido por un signo "+" o "-".

Ejemplo

"-c" y "+c" son opciones, mientras que "cristina" es un argumento:

# gestusuario.sh -c cristina 
# gestusuario.sh +c

Una opción puede funcionar sola o estar asociada a un argumento.

Ejemplo

A continuación se muestra el script gestusuario.sh, que permite archivar y restaurar cuentas de usuario. Las opciones -c y -x significan respectivamente "Crear un archivo" y "Extraer un archivo". Estas son opciones sin argumento. Las opciones -u y -g permiten especificar la lista de usuarios y la lista de grupos que se han de tratar. Estas tienen que estar seguidas de un argumento.

# gestusuario.sh -c -u cristina,roberto,olivia 
# gestusuario.sh -x -g curso -u cristina,roberto

Para comprobar si las opciones y los argumentos pasados al script gestusuario.sh son los esperados, el programador escribirá:

getopts "cxu:g:" opcion

Explicación de los argumentos de getopts:

  • Primer argumento: las opciones se citan una tras otra. Una opción ...