![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
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__