60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# ulib/base.args
|
|
|
|
## `parse_opts`
|
|
~~~
|
|
Analyser des arguments. Cette fonction doit être appelée avec une description
|
|
des options à analyser, suivie des arguments proprement dits. En fonction des
|
|
options rencontrées, certaines variables sont mises à jour.
|
|
Les arguments de cette fonction sont donc de la forme 'optdescs -- args'
|
|
~~~
|
|
## `parse_args_check`
|
|
~~~
|
|
Simplifier l'utilisation de parse_opts(). En entrée, le tableau args doit être
|
|
initialisé avec la liste des options. En sortie, ce tableau contient la liste
|
|
des arguments restant sur la ligne de commande. En cas d'erreur, retourner 1.
|
|
Exemple d'utilisation:
|
|
args=(...)
|
|
parse_args_check "$@" || return; set -- "${args[@]}"
|
|
~~~
|
|
## `parse_args`
|
|
~~~
|
|
Simplifier l'utilisation de parse_opts(). En entrée, le tableau args doit être
|
|
initialisé avec la liste des options. En sortie, ce tableau contient la liste
|
|
des arguments restant sur la ligne de commande. En cas d'erreur, quitter le
|
|
script avec die()
|
|
Exemple d'utilisation:
|
|
args=(...)
|
|
parse_args_check "$@"; set -- "${args[@]}"
|
|
~~~
|
|
## `genparse`
|
|
~~~
|
|
Afficher une ligne de commande à évaluer pour simplifier l'utilisation de
|
|
parse_opts(). Une fonction display_help() par défaut est définie et les
|
|
options appropriées de parse_opts sont utilisées pour reconnaître les options
|
|
spécifiées par les arguments.
|
|
Cette fonction peut être utilisée de cette manière:
|
|
HELP_DESC=...
|
|
HELP_ARG_DESC=... # pour chaque arg
|
|
eval "$(genparse [args...])"
|
|
D'autres variables peuvent être définies: HELP_USAGE, HELP_OPTIONS,
|
|
HELP_ARG_OPTION. Consulter le source pour connaitre leur utilisation
|
|
Les arguments de cette fonction sont de la forme 'sansarg' pour une option
|
|
simple qui ne prend pas d'argument ou 'avecarg=[default-value]' pour une
|
|
option qui prend un argument. Les options générées sont des options
|
|
longues. En l'occurence, les options générées sont respectivement '--sansarg'
|
|
et '--avecarg:'
|
|
Les variables et les options sont toujours en minuscule. Pour les variables,
|
|
le caractère '-' est remplacé par '_'. Si une option contient une lettre en
|
|
majuscule, l'option courte correspondante à cette lettre sera aussi reconnue.
|
|
Par exemple, la commande suivante:
|
|
genparse Force enCoding=utf-8 input= long-Option=
|
|
affichera ceci:
|
|
function display_help() {
|
|
[ -n "$HELP_USAGE" ] || HELP_USAGE="USAGE
|
|
$scriptname [options]"
|
|
[ -n "$HELP_OPTIONS" ] || HELP_OPTIONS="OPTIONS
|
|
${HELP_FORCE_OPTION:- -f, --force${HELP_FORCE_DESC:+
|
|
$HELP_FORCE_DESC}}
|
|
~~~
|
|
|
|
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary |