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.