Boucle for bash tableau

Résolu/Fermé
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 17 août 2010 à 15:54
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 - 17 août 2010 à 17:12
Bonjour,





Voilà je me casse la tête sur un truc tout bête :
j'ai dans une fonction une boucle for et qui incrémente un tableau. J'aimerai me servir de ce tableau plus loin dans le script. Seulement j'ai un problème, j'ai l'impression que mon tableau ne s'incrémente pas bien. Voici que j'ai fais :
index=0
for i in 'cat /etc/passwd |grep sh'
do
list_u[$index]=$i
((index++))
done

Et après j'affiche mon tableau comme ça :
for j in ${list_u[*]};do echo $j;done
Mais ça ne me donne que le dernier résultat à chaque fois et pas la liste complète.

J'espère avoir été assez clair et si quelqu'un peut m'aider.

Merci pour votre aide.
Cordialement,
A voir également:

3 réponses

Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
17 août 2010 à 16:07
en fait j'ai l'impression que mon tableau se réinitialise à chaque fois mais je me trompe peut-être...
1
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
17 août 2010 à 17:12
C'est bon j'ai trouvé il fallait que j'utilise for j in ${list_u[*]};do echo $j;done sans double guillemet sinon ça marche pas
1
Maillon Messages postés 156 Date d'inscription mardi 4 octobre 2005 Statut Membre Dernière intervention 15 avril 2011 5
17 août 2010 à 16:16
je viens de trouvé ça qui me permet d'incrémenter mon tableau
list_u[${#list_u[$index]}]=$i

donc avec ça dans ma boucle j'ai bien à chaque fois toutes les valeurs par contre quand j'affiche mon tableau en dehors de ma fonction ça marche plus il me met que le dernier enregistrement
0