[BASH] Récupération des arguments en boucle
Résolu
Pouic182
Messages postés
20
Statut
Membre
-
Pouic182 Messages postés 20 Statut Membre -
Pouic182 Messages postés 20 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.
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 free - Télécharger - Divers Jeux
- Bash pause ✓ - Forum Shell
- Bash addition - Forum Programmation
- Bash permission non accordée - Forum Shell
- Bash list ✓ - Forum Shell
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 ^^