Ho una lista variabile di array associativi che voglio scorrere e recuperare le loro coppie chiave/valore.Bash scripting - Iterazione tramite nomi di variabili "variabili" per un elenco di matrici associative
I iterare attraverso un singolo array associativo elencando tutte le sue chiavi e ottenendo i valori, es.
for key in "${!queue1[@]}" do
echo "key : $key"
echo "value : ${queue1[$key]}"
done
La parte difficile è che i nomi degli array associativi sono variabili variabili, ad es. dato count = 5, gli array associativi saranno denominati queue1, queue2, queue3, queue4, queue5.
Sto provando a sostituire la sequenza precedente in base a un conteggio, ma finora tutte le combinazioni di parentesi ed eval non hanno prodotto molto più di errori di sostituzione errati. per esempio:
for count in {1,2,3,4,5} do
for key in "${!queue${count}[@]}" do
echo "key : $key"
echo "value : ${queue${count}[$key]}"
done
done
L'aiuto sarebbe molto apprezzato!
Le risposte attuali sono in gran parte out-of-data nel contesto del sostegno nameVar in bash 4.3 (e più tardi). –