other sections
GETOPT(1) | GETOPT(1) |
NOMBRE¶
getopt - analiza una línea de comandos (mejorado)SINOPSIS¶
getopt optstring parametersDESCRIPCIÓN¶
getopt se usa para partir (analizar) las opciones de las líneas de comandos para un fácil análisis por parte de los procedimientos del shell, y para identificar las opciones legales. Usa las rutinas getopt(3) de GNU para hacerlo.OPCIONES¶
- -a, --alternative
- Permitir que las opciones largas comiencen con un solo `-'.
- -h, --help
- Genera como salida una guia de uso y termina correctamente. No se genera ninguna otra salida.
- -l, --longoptions longopts
- Las opciones largas (más de un carácter) para ser analizadas. Pueden especificarse más de una opción al mismo tiempo, separándolas con comas. Esta opción puede darse más de una vez, ya que longopts es acumulativa. Cada nombre de opción larga en longopts puede ir secundado por dos puntos (:) para indicar que es un argumento requerido, y por doble dos puntos (::) para indicar que es un argumento opcional.
- -n, --name progname
- El nombre que será usado por las rutinas getopt(3) cuando generen algún error. Nótese que los errores de getopt(1) son todavía generados tal y como se obtienen de getopt.
- -o, --options shortopts
- Las opciones cortas (un solo carácter) para ser analizadas. Si esta opción no se encuentra, el primer parámetro de getopt que no comience por un `-' (y no sea un argumento opcional) es usado como la cadena de opciones cortas. Cada carácter de una opción corta en shortopts puede ir secundada por dos puntos (:) para indicar que es un argumento requerido, y por doble dos puntos (::) para indicar que es un argumento opcional. El primer carácter de shortopts puede ser `+' o `-' para influenciar sobre la manera en que las opciones son pasadas y la salida es generada (ver la sección MODOS DE EXPLORACIÓN para más detalles).
- -q, --quiet
- Deshabilita la salida de errores por parte de getopt(3).
- -Q, --quiet-output
- No genera la salida normal. getopt(3) sigue generando errores a menos que no se use -q.
- -s, --shell shell
- Establece las convenciones de entrecomillado para cada tipo de shell. Si el argumento -s no se encuentra, se utilizan las convenciones de BASH `sh' `bash', `csh', y `tcsh'.
- -u, --unquoted
- No produce salida entrecomillada. Nótese que los espacios en blanco y los caracteres especiales (dependientes del shell) pueden causar estragos en este modo (tal y como se producen en otras implementaciones de getopt(1) ).
- -T --test
- Prueba si su getopt(1) es esta versión mejorada o una versión antigua. No genera ningún tipo de salida y devuelve un código de error 4. Otras implementaciones de getopt(1), y esta versión si la variable de entorno GETOPT_COMPATIBLE está definida, retornan `--' y un código de error 0.
- -V, --version
- Genera información sobre la versión y finaliza
satisfactoriamente. No se genera ninguna otra salida.
ANÁLISIS¶
Esta sección especifica el formato de la segunda parte de los parámetros de getopt (los parameters en la SINOPSIS). La siguiente sección (SALIDA) describe la salida que se genera. Estos parámetros serán los que típicamente se usen al llamar a un programa del shell. Debe tenerse cuidado de que cada parámetro con el que se llamó al fichero de comandos del shell corresponda exactamente con un parámetro de la lista de parámetros de getopt (véase los EJEMPLOS). Todo el análisis es llevado a cabo por las rutinas getopt(3) de GNU.deberá aparecer justo después del nombre de la opción, separado por un `=', o como el siguiente argumento (por ejemplo separado por espacios en blanco en la línea de comandos).Si la opción tiene un argumento opcional, deberá aparecer justo después del nombre de la opción, separado por `=', si es que existe, (si se añade el `=' pero nada detrás de el, se interpretará como si no existiera ningún argumento; este es un ligero fallo, véase la sección FALLOS). Las opciones largas pueden ser abreviadas, siempre y cuando la abreviación no sea ambigua.
SALIDA¶
Se genera una salida por cada elemento descrito en la sección anterior. Se realiza en el mismo orden en el que los elementos son especificados en la entrada, exceptuando los parámetros libres. La salida puede generarse en modo compatible ( sin entrecomillado ) , o en un modo en el que los espacios en blanco y otros caracteres especiales entre argumentos y parámetros libres son preservados (véase ENTRECOMILLADO). Cuando la salida es procesada en un fichero de comandos del shell , aparecerá compuesta por distintos elementos que pueden ser tratados uno a uno (usando el comando shift existente el la mayoría de los lenguajes de shell). Esto no funciona completamente en el modo sin entrecomillado, ya que los elementos pueden ser divididos por lugares inesperados si contienen espacios en blanco o caracteres especiales.ENTRECOMILLADO (QUOTING)¶
En el modo compatible, los espacios en blanco o caracteres `especiales' en los argumentos o parámetros libres no son tratados correctamente. Dado que la salida alimenta al fichero de comandos del shell, este programa no sabe como se supone que la entrada es troceada en los diferentes parámetros. Para solventar el problema, esta implementación ofrece el entrecomillado. La idea es que la salida es generada con comillas encerrando a cada parámetro. Cuando esta salida alimenta al shell (típicamente por el comando eval del intérprete), se particiona correctamente en los diferentes parámetros.MODOS DE EXPLORACIÓN¶
El primer carácter de la cadena de opciones cortas debe ser un `-' o un `+' para indicar el modo de exploración especial. Si se una la primera forma que aparece en la SINOPSIS son ignoradas; aun así, la variable de entorno POSIXLY_CORRECT es examinada, téngase en cuenta.COMPATIBILIDADES¶
Esta versión de getopt(1) ha sido escrita para ser tan compatible como sea posible con otras versiones. Normalmente solo debe reemplazar aquellas por esta nueva versión sin ningún otro cambio, y con algunas ventajas.VALOR DEVUELTO¶
getopt devuelve un código de error 0 si el análisis ha sido satisfactorio, 1 si getopt(3) retorna errores, 2 si no es capaz de entender sus propios parámetros, 3 si un error interno ha ocurrido (como falta de memoria), y 4 si es llamado con -T.EJEMPLOS¶
Se ofrecen programas de ejemplo para (ba)sh y (t)csh con la distribución de getopt(1) , y se encontrarán instalados opcionalmente en /usr/local/lib/getopt o /usr/lib/getopt.ENTORNO¶
- POSIXLY_CORRECT
- Esta variable de entorno es examinada por las rutinas de getopt(3) un parámetro que no es una opción o un argumento de una opción. Los restantes parámetros son interpretados como parámetros libres, aunque comiencen por un `-'.
- GETOPT_COMPATIBLE
- Fuerza a getopt a usar el primer formato de llamada
tal y como se especifica en la SINOPSIS.
FALLOS¶
getopt(3) puede analizar opciones largas con argumentos opcionales dados como un argumento opcional vacío (pero no puede hacerlo con opciones cortas). Este getopt(1) trata a los argumentos opcionales vacíos como si no estuvieran presentes.AUTOR¶
Frodo Looijaard <frodol@dds.nl>VÉASE TAMBIÉN¶
getopt(3), bash(1), tcsh(1).31 Mayo 1997 | Linux |