Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/09/2018, à 21:37

visual1956

parcour d'un tableau

Bonjour
dans le cadre de la découverte du shelll j'ai un tableau "result" qui est constitué des chemins des différents fichiers d'un répertoire
je désire afficher le contenu de ce tableau et pour ce faire j'utilise le script suivant :

for (( i=0 ; i<"${#result[@]}"; i++))
do
echo -e "${result[$i]} \n"
done

pourquoi devoir mettre une double parenthèse sue for pour assurer son exécution
existe t'il un moyen sans passer sur le dénombrement  d'élément du tableau

Dans l'attente de vote soutient

Hors ligne

#2 Le 12/09/2018, à 22:06

Postmortem

Re : parcour d'un tableau

Salut,
Pour parcourir un tableau :

for elem in "${tab[@]}"
do
  echo "$elem"
done

Pour les doubles parenthèse, c'est l'autre syntaxe pour le for.

Les doubles parenthèses sans le for, ça sert aussi pour évaluer les expressions arithmétiques, faire des calculs :

((i=t+3))

Qui comme tu t'en doutes va additionner  3 et la valeur de $t et affecter le résultat à $i.
Entre double parenthèses, pas besoin de mettre le $ pour appeler une variable.

Rajout :
On peut aussi parcourir "par les indices" :

for ind in "${!tab[@]}"
do
  echo "$ind / ${tab[$ind]}"
done

Dernière modification par Postmortem (Le 12/09/2018, à 22:10)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#3 Le 13/09/2018, à 06:33

pingouinux

Re : parcour d'un tableau

Bonjour,
Si tu n'as pas besoin de l'indice :

printf "%s\n" "${result[@]}"

Hors ligne

#4 Le 13/09/2018, à 23:29

visual1956

Re : parcour d'un tableau

Merci
Que de choses à  connaître

Hors ligne