我有这个数组:
declare -A astr
我向其中添加元素:
astr[elemA]=123
astr[elemB]=199
但稍后我需要知道索引 ID 是什么(elemA 和 elemB)并列出它们。
echo "${astr[@]}" #this only get me the values...
答案1
您可以获取关联数组的“键”列表,如下所示:
$ echo "${!astr[@]}"
elemB elemA
您可以像这样迭代“键”:
for i in "${!astr[@]}"
do
echo "key : $i"
echo "value: ${astr[$i]}"
done
例子
$ for i in "${!astr[@]}"; do echo "key : $i"; echo "value: ${astr[$i]}"; done
key : elemB
value: 199
key : elemA
value: 123