Bashgetopts: análisis inteligente de parámetros posicionales


Sintaxis

  • nombre optstring de getopts [args]

Parámetros

Parámetro Detalle
optstring Los caracteres de opción a reconocer.
nombre Luego nombre donde se almacena la opción analizada

Observaciones

Opciones

optstring : los caracteres opcionales a reconocer.

Si un carácter va seguido de dos puntos, se espera que la opción tenga un argumento, que debe estar separado de él por un espacio en blanco. Los dos puntos ( : ) (y signo de interrogación ? ) No pueden utilizarse como caracteres de opción.

Cada vez que se invoca, getopts coloca la siguiente opción en el nombre de la variable de shell, inicializando el nombre si no existe, y el índice del siguiente argumento que se procesará en la variable OPTIND . OPTIND se inicializa en 1 cada vez que se invoca el shell o un script de shell.

Cuando una opción requiere un argumento, getopts coloca ese argumento en la variable OPTARG . El shell no restablece OPTIND automáticamente; debe restablecerse manualmente entre varias llamadas a getopts dentro de la misma invocación de shell si se va a usar un nuevo conjunto de parámetros.

Cuando se encuentra el final de las opciones, getopts sale con un valor de retorno mayor que cero.

OPTIND se establece en el índice del primer argumento no opcional y el nombre se establece en ? . getopts normalmente analiza los parámetros posicionales, pero si se dan más argumentos en args , getopts analiza en su lugar.

getopts puede reportar errores de dos maneras. Si el primer carácter del optstring es de dos puntos ( : ), se utiliza el informe de errores en silencio. En el funcionamiento normal, los mensajes de diagnóstico se imprimen cuando se encuentran opciones inválidas o argumentos de opciones faltantes.

Si la variable OPTERR se establece en 0 , no se mostrarán mensajes de error, incluso si el primer carácter de optstring no es dos puntos.

Si se ve una opción no válida, getopts lugares getopts ? en name y, si no está en silencio, imprime un mensaje de error y OPTARG . Si getopts está en silencio, el carácter de opción encontrado se coloca en OPTARG y no se imprime ningún mensaje de diagnóstico.

Si no se encuentra un argumento requerido y getopts no está en silencio, se coloca un signo de interrogación ( ? ) En el name , se desactiva OPTARG y se imprime un mensaje de diagnóstico. Si getopts es silenciosa, luego dos puntos ( : ) se coloca en nombre y OPTARG se establece en el carácter de opción.

getopts: análisis inteligente de parámetros posicionales Ejemplos relacionados