Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
dev:bash:arguments_et_options_de_script [2023/02/10 09:46] – ↷ Nom de la page changé de dev:bash:gestion-argumets-et-options à dev:bash:arguments_et_options_de_script yoann | dev:bash:arguments_et_options_de_script [2023/02/10 17:23] (Version actuelle) – Complétion section getopts yoann | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag> | {{tag> | ||
- | ====== Gestion des arguments et options dans les scripts Bash ====== | + | ====== Gestion des options |
Les arguments transmis au script bash courant sont accessibles via les variables **$1** à **$n**. La variable **$@** désigne l' | Les arguments transmis au script bash courant sont accessibles via les variables **$1** à **$n**. La variable **$@** désigne l' | ||
Ligne 8: | Ligne 8: | ||
**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** 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**. | + | * **getopts** est intégré a l’interpréteur **bash** |
* **getopt** est un binaire. | * **getopt** est un binaire. | ||
Ligne 27: | Ligne 27: | ||
* La gestions des options courtes ou longues | * La gestions des options courtes ou longues | ||
+ | ===== Utilisation de getopts ===== | ||
- | ===== Utilisation | + | **getopts** est une primitive |
+ | < | ||
+ | type getopts | ||
+ | getopts est une primitive du shell | ||
+ | </ | ||
- | Un script d' | + | Utilisée avec les commandes |
+ | Le détail du fonctionnement de **getopts** est disponible dans l'aide via '' | ||
+ | |||
+ | La commande **case** permet d' | ||
+ | |||
+ | La structure générale est donc la suivante: | ||
<code bash> | <code bash> | ||
+ | # Mon script | ||
+ | # Si elle est trouvée sur la ligne de commande, | ||
+ | # l' | ||
+ | while getopts ": | ||
+ | do | ||
+ | case $opt_name in | ||
+ | h) # affiche l'aide et quitte | ||
+ | echo "Ceci est mon message d' | ||
+ | exit 0;; | ||
+ | esac | ||
+ | done | ||
+ | |||
+ | |||
+ | echo " | ||
+ | exit 0 | ||
</ | </ | ||
- | ===== Utilisation de getopts | + | ===== Utilisation de getopt |
+ | |||
+ | Un script d' | ||
+ | |||
Ligne 42: | Ligne 71: | ||
* http:// | * http:// | ||
+ | * https:// |