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

NOMBRE

       getopt - analiza una linea de comandos (mejorado)

SINOPSIS

       getopt optstring parameters

       getopt [options] [--] optstring parameters

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

DESCRIPCI'ON

       getopt  se  usa  para  partir  (analizar) las opciones de las lineas de
       comandos para un facil analisis por parte  de  los  procedimientos  del
       shell,  y  para  identificar  las  opciones  legales.   Usa las rutinas
       getopt(3) de GNU para hacerlo.

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

       La  segunda  parte  comenzara  en  el  primer  parametro que no sea una
       opcion, o despues de la primera aparicion de  `--'.   Si  las  opciones
       `-o'  o  `--options'  no  se  encuentran en la primera parte, el primer
       parametro de la segunda parte se interpreta como la cadena de  opciones
       cortas.

       Si  la  variable  de  entorno  GETOPT_COMPATIBLE esta definida, o si su
       primer parametro no es una opcion (no comienza por un `-', entonces  se
       toma  el  primer  formato descrito en la SINOPSIS), getopt generara una
       salida compatible con esta u otras versiones de getopt(1).  Todavia  se
       realizara  el  reordenamiento  de  parametros  y  el  reconocimiento de
       argumentos  opcionales  (ver  la  seccion  COMPATIBILIDADES  para   mas
       informacion).

       Las  implementaciones  tradicionales  de  getopt(1)  son  incapaces  de
       soportar  los  espacios  en  blanco  y  otros   caracteres   especiales
       (especificos  del  shell)  en  argumentos  y  parametros  libres.  Para
       resolver  este  problema,  esta  implementacion  puede  generar  salida
       entrecomillada  (  N. del T.  quoted ) que puede ser, a su vez, tratada
       por el shell (tipicamente 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 version mejorada
       de getopt(1) esta instalada, puede usarse la opcion  (-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 (mas de un caracter)  para  ser  analizadas.
              Pueden   especificarse  mas  de  una  opcion  al  mismo  tiempo,
              separandolas con comas. Esta opcion puede darse mas de una  vez,
              ya  que longopts es acumulativa.  Cada nombre de opcion 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  sera  usado  por  las  rutinas  getopt(3)  cuando
              generen  algun  error.  Notese  que los errores de getopt(1) son
              todavia generados tal y como se obtienen de getopt.

       -o, --options shortopts
              Las opciones cortas (un solo caracter) para ser  analizadas.  Si
              esta  opcion  no se encuentra, el primer parametro de getopt que
              no comience por un `-' (y no sea un argumento opcional) es usado
              como  la cadena de opciones cortas.  Cada caracter de una opcion
              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
              caracter de shortopts puede ser `+' o `-' para influenciar sobre
              la manera en que  las  opciones  son  pasadas  y  la  salida  es
              generada   (ver   la  seccion  MODOS  DE  EXPLORACI'ON  para  mas
              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.  Notese 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 version mejorada  o  una  version
              antigua. No genera ningun tipo de salida y devuelve un codigo de
              error 4. Otras implementaciones de getopt(1), y esta version  si
              la variable de entorno GETOPT_COMPATIBLE esta definida, retornan
              `--' y un codigo de error 0.

       -V, --version
              Genera    informacion    sobre    la    version    y    finaliza
              satisfactoriamente. No se genera ninguna otra salida.

AN'ALISIS

       Esta  seccion  especifica  el  formato  de  la  segunda  parte  de  los
       parametros de getopt (los parameters en  la  SINOPSIS).   La  siguiente
       seccion  (SALIDA)  describe  la  salida que se genera. Estos parametros
       seran los que tipicamente se usen al llamar a un  programa  del  shell.
       Debe  tenerse  cuidado  de  que  cada  parametro con el que se llamo al
       fichero de comandos del shell corresponda exactamente con un  parametro
       de  la  lista  de  parametros  de getopt (vease los EJEMPLOS).  Todo el
       analisis es llevado a cabo por las rutinas getopt(3) de GNU.

       Los parametros son pasados de izquierda a derecha.  Cada  parametro  es
       clasificado  como  una  opcion corta, una opcion larga, un argumento de
       una opcion, o un parametro libre.

       Una opcion corta es un `-' seguido por un caracter de una opcion corta.
       Si  la  opcion  tiene  un  argumento  requerido,  debera aparecer justo
       despues del caracter de la opcion o como el  siguiente  parametro  (por
       ejemplo,  separados por espacios en blanco en la linea de comandos). Si
       la opcion tiene un argumento opcional, debera  aparecer  justo  despues
       del caracter de la opcion si es que existe.

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

       Una opcion larga normalmente comienza por `--' seguido por el nombre de
       la opcion.Si la opcion tiene un argumento requerido,
        debera aparecer justo despues del nombre de la opcion, separado por un
       `=',  o  como el siguiente argumento (por ejemplo separado por espacios
       en blanco en la linea de comandos).Si  la  opcion  tiene  un  argumento
       opcional,  debera  aparecer  justo  despues  del  nombre  de la opcion,
       separado por `=', si es que existe, (si  se  anade  el  `='  pero  nada
       detras  de  el,  se interpretara como si no existiera ningun argumento;
       este es un ligero fallo, vease la seccion FALLOS).  Las opciones largas
       pueden ser abreviadas, siempre y cuando la abreviacion no sea ambigua.

       Cualquier  parametro  que no comience por un `-', y no sea un argumento
       requerido de una opcion previa, sera  interpretado  como  un  parametro
       libre. Cualquier parametro despues de un `--' aislado sera interpretado
       como un parametro libre.

       Si la variable de  entorno  POSIXLY_CORRECT  esta  definida,  o  si  el
       caracter  de  una  opcion  corta  comienza  por  un  `+', los restantes
       parametros son interpretados como parametros libres tan pronto como sea
       encontrado el primero de los parametros libres.

SALIDA

       Se genera una salida por cada elemento descrito en la seccion anterior.
       Se realiza en el mismo orden en el que los elementos son  especificados
       en  la  entrada,  exceptuando  los  parametros 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 parametros libres son preservados (vease  ENTRECOMILLADO).
       Cuando  la  salida  es  procesada en un fichero de comandos del shell ,
       aparecera compuesta por distintos elementos que pueden ser tratados uno
       a uno (usando el comando shift existente el la mayoria 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 analisis de  los  parametros,  por  ejemplo
       como  consecuencia  de  no  encontrar  un  argumento requerido o de una
       opcion no reconocida, se generara un error en stderr, no  aparecera  en
       la  salida  el elemento en discordia, y se devolvera un codigo de error
       diferente de cero.

       Para una opcion corta, la salida consta de un simple `-' y el  caracter
       de  la  opcion. Si la opcion tiene un argumento, el siguiente parametro
       se tomara como el argumento. Si la  opcion  necesita  de  un  argumento
       opcional,  pero  no se ha encontrado ninguno, el siguiente parametro se
       generara pero se encontrara vacio en el formato entrecomillado, y no se
       generara   ese  segundo  parametro  en  el  formato  no  entrecomillado
       (compatible).  Notese que la mayoria de las otras  implementaciones  de
       getopt(1) no soportan argumentos opcionales.

       Si  se  especificaran  mas de una opcion despues de un `-', cada una se
       presentaria en la salida como un parametro independiente.

       Para una opcion larga, se generara el `--' y el nombre completo  de  la
       opcion  como un unico parametro. Esto se hace indistintamente de que la
       opcion estuviera abreviada o  fuera  especificada  con  un  `-'  en  la
       entrada. Los argumentos se manejan como con las opciones cortas.

       Normalmente,  la  salida  de los parametros libres no se generara hasta
       que todas las opciones y sus argumentos hayan sido generadas.  Entonces
       se  generara  un  `--'  como si fuera un solo parametro , y despues los
       parametros libres en el orden en que se encontraron, cada uno  como  un
       parametro  independiente.   Solo  si el primer caracter de la cadena de
       opciones cortas fuera un solo `-', la salida de los  parametros  libres
       se  generaria en el lugar en que fueron encontrados en la entrada (esto
       no esta 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 parametros 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 parametros.  Para solventar el problema, esta implementacion
       ofrece  el  entrecomillado.  La  idea  es que la salida es generada con
       comillas encerrando a cada parametro.  Cuando esta salida  alimenta  al
       shell  (tipicamente  por el comando eval del interprete), se particiona
       correctamente en los diferentes parametros.

       El entrecomillado no se encontrara activado si la variable  de  entorno
       GETOPT_COMPATIBLE  esta  definida,  si  se  usa  la primera forma de la
       SINOPSIS , o si la opcion `-u' es encontrada.

       Cada tipo de shell usa convenciones de entrecomillado diferentes.  Pero
       puede  usarse la opcion `-s' para seleccionar el shell que este 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
       algun otro lenguaje de shell, uno de estos dos tipos pueda servirle.

MODOS DE EXPLORACI'ON

       El primer caracter de la cadena de opciones cortas debe ser un `-' o un
       `+' para indicar el modo de exploracion especial. Si se una la  primera
       forma que aparece en la SINOPSIS son ignoradas; aun asi, la variable de
       entorno POSIXLY_CORRECT es examinada, tengase en cuenta.

       Si  el  primer  caracter  es  `+',  o  si  la   variable   de   entorno
       POSIXLY_CORRECT  esta definida, el analisis finaliza tan pronto como en
       primer parametro libre (por ejemplo un parametro que no comience por un
       `-') es encontrado y no es un argumento de alguna opcion. Los restantes
       parametros son interpretados como parametros libres.

       Si el primer caracter es un `-', la salida de los parametros libres  se
       realiza  en  el  orden  en  que  son encontrados; en el modo normal, se
       agrupan  al  final  de  la  salida  despues  de  generar  un  parametro
       consistente en un unico `--'.  Notese que este parametro `--' se genera
       igualmente, pero siempre sera el  ultimo  parametro  en  este  modo  de
       exploracion.

COMPATIBILIDADES

       Esta  version de getopt(1) ha sido escrita para ser tan compatible como
       sea posible con  otras  versiones.  Normalmente  solo  debe  reemplazar
       aquellas  por  esta nueva version sin ningun otro cambio, y con algunas
       ventajas.

       Si el primer caracter del primer parametro de  getopt  no  es  un  `-',
       getopt  entra  en el modo compatible. Entonces su primer parametro sera
       interpretado como  la  cadena  de  opciones  cortas,  y  los  restantes
       argumentos  seran  analizados. Sigue manteniendose el reordenamiento de
       parametros (por ejemplo los parametros libres aparecen al final  de  la
       salida), a menos que la variable POSIXLY_CORRECT este 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
       `problematicos'.  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  codigo  de  error  0  si  el  analisis  ha  sido
       satisfactorio, 1 si getopt(3) retorna errores, 2  si  no  es  capaz  de
       entender  sus  propios  parametros,  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
       distribucion  de  getopt(1) , y se encontraran 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  parametro  que no es una opcion o un argumento de
              una opcion. Los  restantes  parametros  son  interpretados  como
              parametros 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  vacio  (pero no puede hacerlo con
       opciones cortas).  Este getopt(1) trata  a  los  argumentos  opcionales
       vacios como si no estuvieran presentes.

AUTOR

       Frodo Looijaard <frodol@dds.nl>

V'EASE TAMBI'EN

       getopt(3), bash(1), tcsh(1).