getopts
La commande getopts
est une commande intégrée (built-in) dans les scripts shell (en particulier dans les shells comme bash) qui permet de traiter facilement les options et les arguments passés en ligne de commande lors de l'exécution d'un script. Elle facilite la gestion des arguments de ligne de commande en permettant aux scripts d'analyser les options spécifiées par l'utilisateur.
La syntaxe générale de getopts
est la suivante :
getopts options variable
- options
est une chaîne qui spécifie les options que vous souhaitez gérer dans votre script. Chaque lettre dans cette chaîne représente une option, et si une lettre est suivie d'un deux-points (:
), cela signifie que l'option attend un argument. Par exemple, “ab:c”
signifie que le script gère les options -a
, -b
, et -c
, où -b
attend un argument.
- variable
est la variable que vous déclarez pour stocker la lettre de l'option actuelle pendant le traitement.
Voici un exemple simple d'utilisation de getopts
dans un script bash :
#!/bin/bash while getopts "a:b:c" option; do case "$option" in a) echo "Option -a avec argument: $OPTARG" ;; b) echo "Option -b avec argument: $OPTARG" ;; c) echo "Option -c sans argument" ;; \?) echo "Option invalide: -$OPTARG" exit 1 ;; esac done
Dans cet exemple, le script peut être appelé avec des options comme -a valeur
, -b autre_valeur
, ou simplement -c
. getopts
permet de traiter chaque option de manière séquentielle, en récupérant la lettre de l'option dans la variable $option
et en utilisant un bloc case
pour gérer chaque option spécifiée par l'utilisateur. Si l'utilisateur spécifie une option invalide, le script affiche un message d'erreur et se termine.