有没有办法列出 bash 关联数组变量上的所有“索引 ID”(键)?

有没有办法列出 bash 关联数组变量上的所有“索引 ID”(键)?

我有这个数组:

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

参考

相关内容