加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

arrays – Bash间接引用关联数组

发布时间:2020-12-15 18:58:03 所属栏目:安全 来源:网络整理
导读:在这个非常简单的示例中,我需要解决数组元素的键和值: declare -A writerwriter[H.P.]=Lovecraftwriter[Stephen]=Kingwriter[Clive]=Barkerwriter[Jack]=Ketchumfor i in ${!writer[@]}do echo "$i ${writer[$i]}"donefullname(){ pointer=$1[@] for i in "
在这个非常简单的示例中,我需要解决数组元素的键和值:
declare -A writer
writer[H.P.]=Lovecraft
writer[Stephen]=King
writer[Clive]=Barker
writer[Jack]=Ketchum

for i in ${!writer[@]}
do
    echo "$i ${writer[$i]}"
done

fullname()
{
    pointer=$1[@]
    for i in "${!pointer}"
    do
        echo "? $i"
    done
}
fullname writer

该函数必须以与之前的示例循环相同的格式显示输出,并且它应该接收数组名称,键列表或值,所有这些都是我尝试过的,但没有成功.任何建议都非常感谢.

indir_keys() {
    eval "echo ${!$1[@]}"
}

indir_val() {
    eval "echo ${$1[$2]}"
}

fullname()
{
    pointer=$1
    for i in $(indir_keys $pointer)
    do  
        echo "$i $(indir_val $pointer $i)"
    done
}

得到:

Jack Ketchum
Clive Barker
Stephen King
H.P. Lovecraft

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读