Provided by: manpages-es-extra_0.8a-17_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).