通过相同的密钥循环通过关联阵列



我当前正在尝试通过关联数组循环。此数组包含具有相同键的值。但是,当我尝试循环遍历它时,我只得到一组结果。如何循环遍历包含相同键的所有值?

#!/bin/bash/
declare -A details=( [dog]="golden retriver" [cat]="bengal" [bird]="eagle" [dog]="bulldog" [cat]="sphynx" [bird]="parakeet" )
for k in "${!details[@]}"
do
  echo $k --- ${details[$k]}
done

结果:

猫--- Sphynx狗---斗牛犬鸟---长尾小鹦鹉

没有像bash中的关联数组相同键相关的几个值的东西。最后一个简单地覆盖了上一个。这就是为什么您无法检索它。为了证明这一点,您可以打印阵列的大小,并看到它是3,而不是6:

mureinik@computer ~ $ declare -A details=( [dog]="golden retriver" [cat]="bengal" [bird]="eagle" [dog]="bulldog" [cat]="sphynx" [bird]="parakeet" )
mureinik@computer ~ $ echo ${#details[@]} 
3

相关内容

  • 没有找到相关文章

最新更新