[BASH] Récupération des arguments en boucle
Résolu
Pouic182
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Pouic182 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Pouic182 Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- Bash arguments
- Bingo bash - Télécharger - Divers Jeux
- Bash list ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
2 réponses
Salut,
J'ai du mal à voir où est ton soucis ???
Sers-toi du paramètre $# pour connaitre le nombre d'arguments, non ?
J'ai du mal à voir où est ton soucis ???
Sers-toi du paramètre $# pour connaitre le nombre d'arguments, non ?
Salut jipicy,
En fait, j'ai trouvé la solution à mon problème en passant par un tableau.
Et en faisant une autre boucle derrière, je récupère bien les bonnes informations dans les bonnes variables.
Merci bien de ta réponse ^^
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 ^^