gestion des arguments passes à un shell sans la fonction getops

Creation: 10 fevrier 2022
Mise à jour:
Version: 1.0
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2022 Jean-Louis BICQUELET-SALAÜN
getops_manuel  

  arguments

 

10/02/2022  

getops_manuel

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.

exemple:

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__