Je veux écrire un script pour référencer plusieurs tableaux d'un autre tableau qui contient les noms de variables de ces tableaux.
Voici mon code jusqu'à présent:
#!/bin/bash
array1=('array1string1' 'array1string2')
array2=('array2string1' 'array2string2')
array_names=('array1' 'array2')
for a in ${array_names[@]}
do
for b in ${a[@]}
do
echo $b
done
done
J'aimerais que la sortie balaye les deux tableaux (depuis la boucle for externe) et imprime les chaînes respectives dans la boucle for interne qui appelle l'écho. Ma sortie actuelle me montre juste:
array1
array2
Je serais reconnaissant à tout pointeur à ce sujet. Je vous remercie!
${a[@]}
pour ${!a}
fait ce que vous voulez (je pense).
${!a[@]}
donne une longueur du tableau a
.
${!a}
me donne juste les premiers éléments.
for b in "${array1[@]}" "${array2[@]}"; do ...; done
?