GETOPT(1)                  Commandes de lutilisateur                 GETOPT(1)

NOM
       getopt - Analyser des options de lignes de commandes (version
       amelioree)

SYNOPSIS
       getopt optstring parameters

       getopt [options] [--] optstring parameters

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

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

       Les parametres fournis a getopt sont de deux types : le premier est
       constitue des options qui modifient la facon dont getopt fera l'analyse
       (les options et chaine_options dans le SYNOPSIS) et les parametres a
       analyser (parametres dans le SYNOPSIS). Le second type commence des le
       premier parametre qui n'est pas une option ou apres la premiere
       occurrence de << -- >>. Si aucune option << -o >> ou << --options >>
       n'est presente dans la premiere partie, le premier parametre de la
       seconde partie sera utilise comme chaine d'options courtes.

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

       Les implementations traditionnelles de getopt(1) ne gerent pas les
       espaces ou autres caracteres speciaux (specifiques a chaque
       interpreteur de commandes) dans les parametres (options ou non). Pour
       resoudre ce probleme, cette implementation peut produire une sortie,
       entre guillemets, qui doit etre interpretee de nouveau par
       l'interpreteur de commandes (en general avec la commande eval). Cela
       permet de preserver ces caracteres, mais vous devez appeler getopt
       d'une facon non compatible avec les autres versions (la deuxieme ou
       troisieme forme dans le SYNOPSIS). Pour determiner si cette version
       amelioree de getopt(1) est installee, vous pouvez utiliser l'option
       speciale de test (-T).

OPTIONS
       -a, --alternative
           Permettre aux options longues de ne commencer que par un seul
           << - >>.

       -l, --longoptions options_longues
           Les options longues (plusieurs caracteres) a reconnaitre. Plusieurs
           noms d'option peuvent etre fournis en une seule fois, en separant
           les noms par des virgules. Cette option peut etre fournie plusieurs
           fois, les options_longues se cumulent. Chaque nom d'option dans
           options_longues peut etre suivi d'un deux-points pour indiquer que
           l'option attend un parametre, et par deux signes deux-points pour
           indiquer qu'elle a un parametre optionnel.

       -n, --name nom-de-programme
           Le nom qui sera utilise par getopt(3) pour signaler les erreurs.
           Notez que les erreurs de getopt(1) sont signalees comme provenant
           de getopt.

       -o, --options options_courtes
           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
           Desactiver le signalement des erreurs par getopt(3).

       -Q, --quiet-output
           Ne pas produire la sortie normale. Les erreurs sont toujours
           remontees par getopt(3), sauf si l'option -q est utilisee.

       -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
           Verifier si la version de getopt(1) correspond a cette version
           amelioree ou a une version plus ancienne. Aucune sortie n'est creee
           et la valeur de retour est 4. Les autres implementations de
           getopt(1) (ou celle-ci si la variable d'environnement
           GETOPT_COMPATIBLE est positionnee) renverront << -- >>, avec une
           valeur de retour de 0.

       -u, --unquoted
           Ne pas placer la sortie entre guillemets. Remarquez que les espaces
           et caracteres speciaux (pour l'interpreteur de commandes utilise)
           peuvent poser des problemes dans ce mode (comme pour les autres
           implementations de getopt(1)).

       -h, --help
           Afficher l'aide-memoire puis quitter.

       -V, --version
           Afficher la version et quitter.

ANALYSE
       Cette section indique le format de la seconde partie des parametres de
       getopt (parametres dans le SYNOPSIS). La section suivante (SORTIE)
       decrit la sortie renvoyee. Ces parametres sont generalement ceux
       fournis a une fonction shell. Il faut faire attention a ce que chaque
       parametre fourni a la fonction corresponde bien a un parametre de la
       liste des parametres de getopt (consultez EXEMPLES). Toutes les
       analyses sont faites en utilisant les routines de GNU getopt(3).

       Les parametres sont analyses de la gauche vers la droite. Chaque
       parametre est classe en option courte, option longue, argument d'une
       option ou parametre n'etant pas une option.

       Une option courte est un << - >> suivi par le caractere de l'option. Si
       l'option a un parametre obligatoire, il peut etre indique juste apres
       le caractere de l'option ou comme parametre suivant (c'est-a-dire en
       les separant par une espace). Si l'option a un parametre optionnel, il
       doit etre ecrit juste apres le caractere de l'option (quand le
       parametre est present).

       Il est possible d'indiquer plusieurs options courtes apres un << - >>,
       tant que toutes les options (sauf peut-etre la derniere) n'ont pas de
       parametre obligatoire ou optionnel.

       Une option longue commence normalement par << -- >>, suivi par le nom
       de l'option longue. Si l'option necessite un parametre, celui-ci peut
       etre indique juste apres le nom de l'option, en inserant le caractere
       << = >> entre, ou il peut etre indique dans le parametre suivant
       (c'est-a-dire en le separant par une espace). Si l'option a un
       parametre optionnel, il doit etre indique juste apres le nom de
       l'option, en inserant le caractere << = >> entre, si le parametre est
       present (quand vous ajoutez le caractere << = >> sans rien derriere,
       c'est comme si le parametre n'etait pas present ; c'est un bogue
       mineur, consultez la section BOGUES). Les options longues peuvent etre
       abregees, tant que l'abreviation n'est pas ambigue.

       Chaque parametre ne commencant pas par un << - >> et n'etant pas un
       parametre obligatoire est un << parametre n'etant pas une option >>.
       Chaque parametre situe apres un << -- >> est toujours interprete comme
       un << parametre n'etant pas une option >>. Si la variable
       d'environnement POSIXLY_CORRECT est positionnee, ou si la chaine des
       options courtes commence par un << + >>, tous les parametres suivant le
       premier parametre n'etant pas une option sont interpretes comme des
       parametres n'etant pas des options.

SORTIE
       La sortie est generee pour chaque element decrit dans la section
       precedente. Elle reprend l'ordre des elements indiques en entree, a
       l'exception des parametres n'etant pas des options. La sortie peut etre
       faite dans un mode compatible (non protege : sans guillemets) ou de
       telle sorte que les espaces ou autres caracteres speciaux des
       parametres soient preserves (consultez PROTECTIONS). Quand la sortie
       est utilisee dans un script shell, elle paraitra composee d'elements
       distincts qui peuvent etre traites un par un (en utilisant la commande
       shift de la plupart des langages de script). Ce n'est pas parfait dans
       le mode non protege parce que les elements peuvent etre coupes a des
       endroits non prevus s'ils contiennent des espaces ou des caracteres
       speciaux.

       En cas de probleme lors de l'analyse des parametres, par exemple si un
       parametre obligatoire n'est pas trouve ou si une option n'est pas
       reconnue, une erreur est renvoyee sur la sortie d'erreur standard. Les
       elements incrimines ne seront pas affiches et un code d'erreur non nul
       est renvoye.

       Pour une option courte, un seul << - >> et le caractere de l'option
       sont generes comme un parametre. Si l'option est suivie de son
       parametre, le parametre suivant de la sortie sera le parametre de
       l'option. Si l'option accepte un parametre optionnel, mais qu'aucun n'a
       ete trouve, un parametre vide sera genere dans le mode protege, mais
       aucun dans le mode non protege (ou mode compatible). Notez que beaucoup
       d'autres implementations de getopt(1) ne gerent pas les parametres
       optionnels.

       Si plusieurs options courtes ont ete precisees apres un unique << - >>,
       chacune sera presente dans la sortie dans un parametre distinct.

       Pour une option longue, << -- >> et le nom complet de l'option sont
       generes en un seul parametre. C'est le cas que l'option soit abregee ou
       qu'elle soit indiquee avec un seul << - >> dans l'entree. Les
       parametres sont traites comme pour les options courtes.

       Normalement, aucun parametre n'etant pas une option n'est genere sur la
       sortie tant que toutes les options et leurs parametres n'ont pas ete
       traites. Ensuite, << -- >> est genere separement comme un parametre, et
       est suivi des parametres n'etant pas des options, dans l'ordre ou ils
       ont ete trouves, chacun comme un parametre distinct. Si le premier
       caractere de la chaine des options courtes est un << - >>, et seulement
       dans ce cas, les parametres n'etant pas des options sont generes quand
       ils sont trouves dans l'entree (ce n'est pas gere si la premiere forme
       du SYNOPSIS est utilisee ; dans ce cas, les << - >> et << + >> de tete
       sont ignores).

PROTECTIONS
       Dans le mode compatible, les espaces et caracteres speciaux dans les
       parametres des options ou les parametres n'etant pas des options ne
       sont pas geres correctement. Comme la sortie est envoyee a un script
       shell, le script ne sait pas comment il doit separer les parametres.
       Pour eviter ce probleme, cette implementation propose un mode protege.
       L'idee est de generer la sortie avec des protections (a l'aide de
       guillemets) autour des parametres. Quand cette sortie est envoyee de
       nouveau a un interpreteur de commandes (generalement en utilisant la
       commande eval de l'interpreteur), le decoupage en parametres est
       correct.

       La protection n'est pas activee si la variable d'environnement
       GETOPT_COMPATIBLE est positionnee, si la premiere forme du SYNOPSIS est
       utilisee ou si l'option << -u >> est trouvee.

       Les conventions de protection different suivant les interpreteurs de
       commandes. Vous pouvez preciser l'interpreteur de commandes que vous
       utilisez avec l'option << -s >>. Les interpreteurs de commandes
       suivants sont geres : << sh >>, << bash >>, << csh >> et << tcsh >>. En
       fait, seuls deux types sont differencies : ceux utilisant les
       conventions de sh et ceux utilisant les conventions de csh. Il y a de
       grandes chances que si vous utilisez un autre langage de script, il
       utilise une de ces conventions.

MODES D'ANALYSE
       Le premier caractere de la chaine de description des options courtes
       peut etre un << - >> ou un << + >> pour utiliser un mode special
       d'analyse. Si la premiere forme du SYNOPSIS est appelee, ils sont
       ignores ; mais la variable d'environnement POSIXLY_CORRECT est toujours
       examinee.

       Si le premier caractere est un << + >>, ou si la variable
       d'environnement POSIXLY_CORRECT est positionnee, l'analyse s'arrete des
       qu'un parametre n'etant pas une option est rencontre (c'est-a-dire un
       parametre qui ne commence pas par << - >>). Aucun des parametres
       suivants ne sera considere comme une option.

       Si le premier caractere est un << - >>, les parametres qui ne sont pas
       des options sont places dans la sortie a la position ou ils ont ete
       trouves ; normalement, ils sont tous places a la fin de la sortie,
       juste apres le parametre << B*-- >> qui a ete genere. Notez que dans ce
       mode, le parametre << --* >> est encore genere, mais il sera toujours
       le dernier parametre.

COMPATIBILITE
       Cette version de getopt(1) a ete ecrite pour etre aussi compatible que
       possible avec les autres versions. En general, vous pouvez vous
       contenter de les remplacer par cette version sans aucune modification,
       avec meme certains avantages.

       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 d'environnement GETOPT_COMPATIBLE force getopt dans un mode
       de compatibilite. Avec a la fois cette variable d'environnement et
       POSIXLY_CORRECT, il sera 100 % compatible pour les programmes
       << difficiles >>. D'habitude, cependant, ni l'une ni l'autre n'est
       necessaire.

       Dans ce mode, les << - >> ou << + >> de tete des options courtes sont
       ignores.

CODES DE RETOUR
       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.

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

ENVIRONNEMENT
       POSIXLY_CORRECT
           Cette variable d'environnement est utilisee par getopt(3).
           Lorsqu'elle est positionnee, l'analyse s'arrete au premier
           parametre n'etant ni une option ni le parametre d'une option. Tous
           les parametres restants sont egalement interpretes comme des
           parametres n'etant pas des options, qu'ils commencent par un
           << - >> ou non.

       GETOPT_COMPATIBLE
           Forcer getopt a utiliser le premier format d'appel, comme indique
           dans le SYNOPSIS.

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

       La syntaxe n'est pas tres intuitive si vous ne voulez pas d'option
       courte : vous devez explicitement les definir comme des chaines vides.

AUTEUR
       Frodo Looijaard <frodo@frodo.looijaard.name>

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

SIGNALER DES BOGUES
       Pour signaler un bogue, utilisez le gestionnaire de bogues
       <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITE
       La commande getopt fait partie du paquet util-linux, elle est
       disponible sur l'archive du noyau Linux
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                   2025-03-29                         GETOPT(1)