arguments |
10/02/2022 |
Exemple de traitement des arguments de manière manuelle.
On teste tous les arguments passés au script avec la variable $*.
La variable i_ sert d'iindice de boucle. Elle fournira le nombre d'arguments à la fin de la boucle.
arg sert à tester l'argument.
On utilise des variables comme flag (help_) ou pour receuillir une valeur (taille_). Dans ce cas la commande shift retire un argument de la liste des arguments.
help_=false
taille_=false
i_=0
for arg in $* ; do
if [ "$arg" = "-h" ] ; then
help_=true
elif [ "$arg" = "-m" ] ; then
help_=true
elif [ "$arg" = "-v" ] ; then
version_=true
elif [ "$arg" = "-t" ] ; then
taille_=true
shift
else
i_=`expr $i_ '+' 1`
if [ "$i_" = "1" ] ; then
dir1_=$arg
elif [ "$i_" = "2" ] ; then
dir2_=$arg
fi
fi
done
# test sur le nombre d'argumens
if [ "$i_" -gt "1" ] ; then
help_=true
fi
# test sur un flag
if [ "$help_" = "true" ] ; then
cat << __HELP__
aide
__HELP__