Remplir un tableau dans une boucle for
Résolu
lamouchetsetse
Messages postés
112
Date d'inscription
Statut
Membre
Dernière intervention
-
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
lamouchetsetse Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je débute en script bash et j'ai un souci pour remplir un array via une boucle for.
Voici mon script:
Et la logiquement, je devrais avoir un array avec pour clé les 26 lettres de l'aphabet et pour valeur la meme chose que les clés.
Or ce que j'obtiens c'est un tableau avec 0 comme clé et Z comme valeur
Donc comment faire pour obtenir un tableau de ce type avec ma boucle:
Clé A = Valeur A
Clé B = Valeur B
Clé C = Valeur C
...
Merci et bonne journée
Voici mon script:
tablo=("A" "B" "C" "D" "E" "F" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z") declare -A tablo2 for lettre in ${tablo[@]} do tablo2[$lettre]=$lettre done echo 'Clé => '${!tablo2[@]} echo 'Valeur => '${tablo2[@]}
Et la logiquement, je devrais avoir un array avec pour clé les 26 lettres de l'aphabet et pour valeur la meme chose que les clés.
Or ce que j'obtiens c'est un tableau avec 0 comme clé et Z comme valeur
Donc comment faire pour obtenir un tableau de ce type avec ma boucle:
Clé A = Valeur A
Clé B = Valeur B
Clé C = Valeur C
...
Merci et bonne journée
A voir également:
- Remplir un tableau php
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Organigramme a remplir word - Guide
- Imprimer un tableau excel - Guide
8 réponses
salut,
tel quel ton script fonctionne :
PS: n'oublie pas les guillemets, sinon tu auras de mauvaises surprises.
tel quel ton script fonctionne :
tablo2a bien 26 indices de A à Z, ayant comme valeur A...Z
#!/bin/bash declare -A tablo2 tablo=( {A..Z} ) for lettre in "${tablo[@]}"; do tablo2["$lettre"]="$lettre"; done for i in "${!tablo2[@]}"; do echo "clé $i => valeur ${tablo2["$i"]}"; done
PS: n'oublie pas les guillemets, sinon tu auras de mauvaises surprises.