Я пытаюсь создать многомерный ассоциативный массив, но мне нужна помощь. Я просмотрел страницу, предложенную в этом SO-ответе, но это еще больше смутило меня. Пока что у меня есть:
script:
#!/bin/bash
declare -A PERSONS
declare -A PERSON
PERSON["FNAME"]='John'
PERSON["LNAME"]='Andrew'
PERSONS["1"]=${PERSON[@]}
PERSON["FNAME"]='Elen'
PERSON["LNAME"]='Murray'
PERSONS["2"]=${PERSON[@]}
for KEY in "${!PERSONS[@]}"; do
TMP="${PERSONS["$KEY"]}"
echo "$KEY - $TMP"
echo "${TMP["FNAME"]}"
echo "${TMP["LNAME"]}"
done
Выход:
1 - John Andrew
John Andrew
John Andrew
2 - Elen Murray
Elen Murray
Elen Murray
Как вы видите, попытка обращения к определенному индексу массива $TMP в цикле for возвращает весь массив.
[Q] Что мне нужно сделать для отдельного доступа к индексам "FNAME" и "LNAME" массива $TMP внутри цикла for
?
Спасибо.