Outils pour utilisateurs

Outils du site


dev:bash:arguments_et_options_de_script

Ceci est une ancienne révision du document !


Gestion des arguments et options dans les scripts Bash

Les arguments transmis au script bash courant sont accessibles via les variables $1 à $n. La variable $@ désigne l'ensemble des arguments.

getopts et getopt sont deux moyens similaires mais non identiques pour gérer de façon avancée les options et les arguments passés aux scripts.

  • getopts est intégré a l’interpréteur bash.
  • getopt est un binaire.

La gestion des options n'est pas triviale si l'on souhaite un usage souple et conforme aux standards. C'est la raison d'être des outils getopts et getopt. Par exemple les différents appels du script ci-dessous devraient produire le même comportement:

$ ./mon_script -a -b -c
$ ./mon_script -abc
$ ./mon_script -b -a -c
$ ./mon_script -ba -c
$ ./mon_script -ba -c
$ ./mon_script --long-a --long-c --long-b

Les difficultés que pointe cet exemple:

  • Ordre des options/paramètres
  • La concaténation des options courtes
  • La gestions des options courtes ou longues

Utilisation de getopt

Un script d'exemple est disponible au noeud /usr/share/doc/util-linux/examples/getopt-parse.bash.

 

Utilisation de getopts

Références

dev/bash/arguments_et_options_de_script.1676022376.txt.gz · Dernière modification : 2023/02/10 09:46 de yoann