基于 Bash 脚本中的关联数组,我需要对其进行迭代以获取键和值。
#!/bin/bash
declare -A array
array[foo]=bar
array[bar]=foo
我实际上不明白如何在使用 for-in 循环时获取 key 。
最佳答案
使用感叹号访问键:${!array[@]}
,使用 访问值 ${array[@]}
.
您可以像这样遍历键/值对:
for i in "${!array[@]}"
do
echo "key : $i"
echo "value: ${array[$i]}"
done
请注意在 for
语句中使用引号将变量括起来(加上使用 @
而不是 *
)。这是必要的,以防任何键包含空格。
另一个答案中的混淆来自于您的问题包括键和值的“foo”和“bar”。
关于bash - 如何在 Bash 中迭代关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3112687/