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

Résolu
Pouic182 Messages postés 14 Date d'inscription   Statut Membre -  
Pouic182 Messages postés 14 Date d'inscription   Statut Membre -
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. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

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

    Sers-toi du paramètre $# pour connaitre le nombre d'arguments, non ?
    1
  2. Pouic182 Messages postés 14 Date d'inscription   Statut Membre 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