Provided by: manpages-es-extra_0.8a-14ubuntu1_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 ‘--’ ‘--’ 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).