[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. 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 ^^
    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 ?