[BASH] Récupération des arguments en boucle

Résolu
Bonjour tout le monde,

Je dois développer un script interpréter en bash mais je bloque sur un détail...
Je dois en fait récupérer la valeur des arguments passés à mon script, le problème est que le nombre d'arguments est variable =S

Un exemple sera plus clair (enfin je l'espère ^^) :
--> appel de mon script : ./script nom1 prénom1 nom2 prénom2 nom3 prénom3 ...
--> récupération des arguments dans des variables :
NOM1=$1
PRENOM1=$2
NOM2=$3
PRENOM2=$4
NOM3=$5
PRENOM3=$6 ....

Voilà, en espérant avoir été assez clair.

Merci d'avance pour toutes vos pistes.
Configuration: Windows XP
Firefox 3.0.13

2 réponses

  1. Modérateur
    Salut,

    J'ai du mal à voir où est ton soucis ???

    Sers-toi du paramètre $# pour connaitre le nombre d'arguments, non ?
    1. Salut jipicy,

      En fait, j'ai trouvé la solution à mon problème en passant par un tableau.

      j=1
      for i in $*
      do
       tab[$j]=$i
       j=$((j+1))
      done
      


      Et en faisant une autre boucle derrière, je récupère bien les bonnes informations dans les bonnes variables.

      for(( i=6,j=7,k=1; i < NB_ARG+1,j < NB_ARG+1,k < NB_SAUV+1 ; i=$(($i + 2)) ,j=$(($j + 2)) ,k++ ))
      do
      echo "Voici les statistiques detaillees de la machine ${tab[$i]} pour le repertoire ${tab[$j]} :" >> /$RACINE/$CLIENT/logs/mail.txt
      cat /$RACINE/$CLIENT/logs/resultat_${tab[$i]}_${tab[$j]}.txt >> /$RACINE/$CLIENT/logs/mail.txt
      echo "" >> /$RACINE/$CLIENT/logs/mail.txt
      done
      


      Merci bien de ta réponse ^^