39 lines
1.9 KiB
Plaintext
39 lines
1.9 KiB
Plaintext
====== 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 :
|
|
|
|
<code bash>
|
|
getopts options variable
|
|
</code>
|
|
|
|
- ''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 :
|
|
|
|
<code 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
|
|
</code>
|
|
|
|
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.
|