【发布时间】:2011-09-03 05:29:31
【问题描述】:
我正在尝试创建一个多维关联数组,但需要一些帮助。我已经查看了the page suggested in this SO answer,但它让我更加困惑。到目前为止,这是我所拥有的:
脚本:
#!/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
如您所见,尝试在 for 循环中访问 $TMP 数组的特定索引会返回整个数组。
[Q] 我需要做什么才能在for 循环内分别访问 $TMP 数组的“FNAME”和“LNAME”索引?
谢谢。
【问题讨论】:
标签: bash hash multidimensional-array hashtable associative-array