Provided by: manpages-es-extra_0.8a-19_all bug

NOMBRE

       getopt - analiza una línea de comandos (mejorado)

SINOPSIS

       getopt optstring parameters

       getopt [options] [--] optstring parameters

       getopt [options] -o|--options optstring [options] [--] parameters

DESCRIPCIÓ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.

       Los parámetros con los que se llama a getopt se pueden dividir en dos partes: opciones que
       modifican la manera en la que getopt analizará (options y  -o|--options  optstring  en  la
       SINOPSIS), y los parámetros que deben ser analizados (parameters en la SINOPSIS).

       La  segunda  parte comenzará en el primer parámetro que no sea una opción, o después de la
       primera aparición de `--'.  Si las opciones `-o' o `--options'  no  se  encuentran  en  la
       primera  parte,  el  primer  parámetro de la segunda parte se interpreta como la cadena de
       opciones cortas.

       Si la variable de entorno GETOPT_COMPATIBLE está definida, o si su primer parámetro no  es
       una  opción  (no  comienza  por  un `-', entonces se toma el primer formato descrito en la
       SINOPSIS), getopt generará una salida compatible con esta u otras versiones de  getopt(1).
       Todavía  se  realizará  el  reordenamiento de parámetros y el reconocimiento de argumentos
       opcionales (ver la sección COMPATIBILIDADES para más información).

       Las implementaciones tradicionales de getopt(1) son incapaces de soportar los espacios  en
       blanco  y  otros  caracteres especiales (específicos del shell) en argumentos y parámetros
       libres.  Para  resolver  este  problema,  esta   implementación   puede   generar   salida
       entrecomillada  (  N.  del  T.   quoted  )  que  puede ser, a su vez, tratada por el shell
       (típicamente usando  el  comando  eval  ).  Esto  tiene  el  efecto  de  preservar  dichos
       caracteres,  pero  debe  llamarse a getopt de una manera no compatible con otras versiones
       (el segundo y tercer formato  en  la  SINOPSIS).   Para  determinar  cuando  esta  versión
       mejorada  de  getopt(1)  está  instalada,  puede  usarse  la opción (-T) que realiza dicha
       prueba.

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.

       Los  parámetros son pasados de izquierda a derecha. Cada parámetro es clasificado como una
       opción corta, una opción larga, un argumento de una opción, o un parámetro libre.

       Una opción corta es un `-' seguido por un carácter de una opción corta. Si la opción tiene
       un  argumento requerido, deberá aparecer justo después del carácter de la opción o como el
       siguiente parámetro (por ejemplo,  separados  por  espacios  en  blanco  en  la  línea  de
       comandos).  Si  la  opción  tiene un argumento opcional, deberá aparecer justo después del
       carácter de la opción si es que existe.

       Es posible especificar varias opciones cortas después de un `-', siempre  y  cuando  todas
       (exceptuando posiblemente la última) no necesite argumentos requeridos o opcionales.

       Una  opción  larga  normalmente comienza por `--' seguido por el nombre de la opción.Si la
       opción tiene un argumento requerido,
        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.

       Cualquier parámetro que no comience por un `-', y no sea un  argumento  requerido  de  una
       opción  previa,  será interpretado como un parámetro libre. Cualquier parámetro después de
       un `--' aislado será interpretado como un parámetro libre.

       Si la variable de entorno POSIXLY_CORRECT está definida, o si el carácter  de  una  opción
       corta  comienza  por  un  `+',  los restantes parámetros son interpretados como parámetros
       libres tan pronto como sea encontrado el primero de los parámetros libres.

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.

       Si  hay  problemas durante el análisis de los parámetros, por ejemplo como consecuencia de
       no encontrar un argumento requerido o de una opción no reconocida, se generará un error en
       stderr,  no  aparecerá  en la salida el elemento en discordia, y se devolverá un código de
       error diferente de cero.

       Para una opción corta, la salida consta de un simple `-' y el carácter de la opción. Si la
       opción  tiene  un  argumento,  el  siguiente  parámetro se tomará como el argumento. Si la
       opción necesita de un argumento opcional, pero no se ha encontrado ninguno,  el  siguiente
       parámetro  se  generará  pero  se  encontrará  vacío en el formato entrecomillado, y no se
       generará ese segundo parámetro en el formato no entrecomillado (compatible).   Nótese  que
       la mayoría de las otras implementaciones de getopt(1) no soportan argumentos opcionales.

       Si  se  especificaran  más  de una opción después de un `-', cada una se presentaría en la
       salida como un parámetro independiente.

       Para una opción larga, se generará el `--' y el nombre completo de la opción como un único
       parámetro.  Esto  se  hace  indistintamente  de  que la opción estuviera abreviada o fuera
       especificada con un `-' en la entrada. Los argumentos se manejan  como  con  las  opciones
       cortas.

       Normalmente,  la  salida  de  los  parámetros  libres  no  se generará hasta que todas las
       opciones y sus argumentos hayan sido generadas. Entonces se generará un `--' como si fuera
       un  solo  parámetro  ,  y después los parámetros libres en el orden en que se encontraron,
       cada uno como un parámetro independiente.  Solo si el primer  carácter  de  la  cadena  de
       opciones  cortas  fuera un solo `-', la salida de los parámetros libres se generaría en el
       lugar en que fueron encontrados en la entrada (esto no está soportado si se usa el  primer
       formato  que aparece en la SINOPSIS ; en este caso todas las ocurrencias anteriores de `-'
       y `+' son ignoradas).

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.

       El entrecomillado no se encontrará activado si la variable  de  entorno  GETOPT_COMPATIBLE
       está  definida,  si  se  usa  la  primera  forma  de  la SINOPSIS , o si la opción `-u' es
       encontrada.

       Cada tipo de shell usa convenciones de entrecomillado diferentes.  Pero  puede  usarse  la
       opción  `-s'  para  seleccionar  el  shell que esté usando. Actualmente son soportados los
       siguientes: `sh', `bash', `csh' y `tcsh'.  Actualmente, solo se  distinguen  dos  `tipos':
       las  convenciones  de  entrecomillado del tipo sh y las del tipo csh. Probablemente si usa
       algún otro lenguaje de shell, uno de estos dos tipos pueda servirle.

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.

       Si  el  primer carácter es `+', o si la variable de entorno POSIXLY_CORRECT está definida,
       el análisis finaliza tan pronto como en primer parámetro libre (por ejemplo  un  parámetro
       que  no  comience  por  un  `-')  es encontrado y no es un argumento de alguna opción. Los
       restantes parámetros son interpretados como parámetros libres.

       Si el primer carácter es un `-', la salida de los parámetros libres se realiza en el orden
       en  que  son  encontrados;  en el modo normal, se agrupan al final de la salida después de
       generar un parámetro consistente en un único `--'.  Nótese  que  este  parámetro  `--'  se
       genera igualmente, pero siempre será el último parámetro en este modo de exploración.

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.

       Si el primer carácter del primer parámetro de getopt no es un `-', getopt entra en el modo
       compatible. Entonces su primer parámetro será interpretado  como  la  cadena  de  opciones
       cortas, y los restantes argumentos serán analizados. Sigue manteniéndose el reordenamiento
       de parámetros (por ejemplo los parámetros libres aparecen al final de la salida), a  menos
       que la variable POSIXLY_CORRECT esté definida.

       La  variable  de entorno GETOPT_COMPATIBLE fuerza a getopt a entrar en el modo compatible.
       Definiendo al mismo tiempo esta variable  de  entorno  y  POSIXLY_CORRECT  se  ofrece  una
       compatibilidad   al  100%  para  programas  `problemáticos'.   Aunque  normalmente  no  es
       necesario.

       En el modo compatible, los primeros caracteres `-' y `+' en la cadena de  opciones  cortas
       son ignorados.

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).