Existe-t-il des outils intégrés qui reconnaîtront -x
et --xxxx
en tant que commutateurs et non en tant qu'arguments, ou devez-vous parcourir toutes les variables d'entrée, tester les tirets, puis analyser les arguments par la suite ?
Réponse acceptée :
Utilisez getopts
.
Il est assez portable comme dans la spécification POSIX. Malheureusement, il ne prend pas en charge les options longues.
Si vous n'avez besoin que d'options courtes, modèle d'utilisation typique pour getopts
(en utilisant le rapport d'erreurs non silencieux) est :
# process arguments "$1", "$2", ... (i.e. "[email protected]")
while getopts "ab:" opt; do
case $opt in
a) aflag=true ;; # Handle -a
b) barg=$OPTARG ;; # Handle -b argument
?) ;; # Handle error: unknown option or missing required argument.
esac
done