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