Provided by: util-linux-locales_2.41-4ubuntu3_all bug

NOMBRE

       getopt - analiza una línea de órdenes (mejorado)

SINOPSIS

       getopt optstring parameters

       getopt [options] [--] optstring parameters

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

DESCRIPCIÓN

       getopt is used to break up (parse) options in command lines for easy parsing by shell procedures, and to
       check for valid options. It uses the GNU getopt(3) routines to do this.

       The parameters getopt is called with can be divided into two parts: options which modify the way getopt
       will do the parsing (the options and the optstring in the SYNOPSIS), and the parameters which are to be
       parsed (parameters in the SYNOPSIS). The second part will start at the first non-option parameter that is
       not an option argument, or after the first occurrence of '--'. If no '-o' or '--options' option is found
       in the first part, the first parameter of the second part is used as the short options string.

       If the environment variable GETOPT_COMPATIBLE is set, or if the first parameter is not an option (does
       not start with a '-', the first format in the SYNOPSIS), getopt will generate output that is compatible
       with that of other versions of getopt(1). It will still do parameter shuffling and recognize optional
       arguments (see the COMPATIBILITY section for more information).

       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 la shell (típicamente usando la orden 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 "-".

       -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
           The short (one-character) options to be recognized. If this option is not found, the first parameter
           of getopt that does not start with a '-' (and is not an option argument) is used as the short options
           string. Each short option character in shortopts may be followed by one colon to indicate it has a
           required argument, and by two colons to indicate it has an optional argument. The first character of
           shortopts may be '+' or '-' to influence the way options are parsed and output is generated (see the
           SCANNING MODES section for details).

       -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
           Set quoting conventions to those of shell. If the -s option is not given, the BASH conventions are
           used. Valid arguments are currently 'sh', 'bash', 'csh', and 'tcsh'.

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

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

       -h, --help
           Mostrar texto de ayuda y finalizar.

       -V, --version
           Display version and exit.

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 órdenes de la 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 órdenes). 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 órdenes).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 órdenes de la shell , aparecerá compuesta por distintos elementos
       que pueden ser tratados uno a uno (usando la orden 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

       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 órdenes de la 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 la orden 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.

       If the first character of the first parameter of getopt is not a '-', getopt goes into compatibility
       mode. It will interpret its first parameter as the string of short options, and all other arguments will
       be parsed. It will still do parameter shuffling (i.e., all non-option parameters are output at the end),
       unless the environment variable POSIXLY_CORRECT is set, in which case, getopt will prepend a '+' before
       short options automatically.

       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 returns error code 0 for successful parsing, 1 if getopt(3) returns errors, 2 if it does not
       understand its own parameters, 3 if an internal error occurs like out-of-memory, and 4 if it is called
       with -T.

EJEMPLOS

       Example scripts for (ba)sh and (t)csh are provided with the getopt(1) distribution, and are installed in
       /usr/share/doc/util-linux directory.

ENTORNO

       POSIXLY_CORRECT
           Esta variable de entorno es examinada por las rutinas de getopt(3). Si está definida, el análisis
           finaliza tan pronto como se encuentre 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.

ERRORES

       getopt(3) can parse long options with optional arguments that are given an empty optional argument (but
       cannot do this for short options). This getopt(1) treats optional arguments that are empty as if they
       were not present.

       The syntax if you do not want any short option variables at all is not very intuitive (you have to set
       them explicitly to the empty string).

AUTOR

       Frodo Looijaard <frodo@frodo.looijaard.name>

VÉASE TAMBIÉN

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

INFORMAR DE ERRORES

       For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.

DISPONIBILIDAD

       La orden getopt forma parte del paquete util-linux, el cual puededescargarse de Linux Kernel Archive
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                          GETOPT(1)