• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux Shell Map的用法详解
    POST TIME:2021-10-18 15:53

    Map定义:

    在使用map时,需要先声明,否则结果可能与预期不同,array可以不声明

    方式1:

    declare -A myMap
    myMap["my03"]="03"
    

    方式2:

    declare -A myMap=(["my01"]="01" ["my02"]="02")
    myMap["my03"]="03"
    myMap["my04"]="04"
    

    Map初始化:

    与array类似,可以使用括号直接初始化,也可以通过添加的方式来初始化数据,与array不同的是,括号直接初始化时使用的为一个键值对,添加元素时,下标可以不是整数

    myMap["my03"]="03"
    myMap["my04"]="04"
    

    输出Map所有的key、value、长度:

    # 1)输出所有的key
    #若未使用declare声明map,则此处将输出0,与预期输出不符,此处输出语句格式比arry多了一个!
    echo ${!myMap[@]}
    #2)输出所有value
    #与array输出格式相同
    echo ${myMap[@]}
    #3)输出map长度
    #与array输出格式相同
    echo ${#myMap[@]}
    
    

    Map遍历:

    #1)遍历,根据key找到对应的value
    for key in ${!myMap[*]};do
     echo $key
     echo ${myMap[$key]}
    done
    #2)遍历所有的key
    for key in ${!myMap[@]};do
     echo $key
     echo ${myMap[$key]}
    done
    #3)遍历所有的value
    for val in ${myMap[@]};do
     echo $val
    done

    Map测试:

    [root@cdh-143 shell-test]# more map-test.sh
    #!/bin/sh
    
    echo "一、定义Map:declare -A myMap=([\"myMap00\"]=\"00\" [\"myMap01\"]=\"01\")"
    declare -A myMap=(["my00"]="00" ["my01"]="01")
    myMap["my02"]="02"
    myMap["my03"]="03"
    
    echo "二、输出所有的key:"
    echo ${!myMap[@]}
    
    echo "三、输出所有value:"
    echo ${myMap[@]}
    
    echo "四、输出map的长度:"
    echo ${#myMap[@]}
    
    echo "五、遍历,根据key找到对应的value:"
    for key in ${!myMap[*]};do
     echo "key:"$key
     echo "value:"${myMap[$key]}
    done
    
    echo "六、遍历所有的key:"
    for key in ${!myMap[@]};do
     echo "key:"$key
     echo "value:"${myMap[$key]}
    done
    
    echo "七、遍历所有value:"
    for val in ${myMap[@]};do
     echo "value:"$val
    done

    输出:

    [root@cdh-143 shell-test]# ./map-test.sh
    一、定义Map:declare -A myMap=(["myMap00"]="00" ["myMap01"]="01")
    二、输出所有的key:
    my02 my03 my00 my01
    三、输出所有value:
    02 03 00 01
    四、输出map的长度:
    4
    五、遍历,根据key找到对应的value:
    key:my02
    value:02
    key:my03
    value:03
    key:my00
    value:00
    key:my01
    value:01
    六、遍历所有的key:
    key:my02
    value:02
    key:my03
    value:03
    key:my00
    value:00
    key:my01
    value:01
    七、遍历所有value:
    value:02
    value:03
    value:00
    value:01
    [root@cdh-143 shell-test]#

    到此这篇关于Linux Shell Map的用法详解的文章就介绍到这了,更多相关Linux Shell Map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • linux shell 根据进程名获取pid的实现方法
    • linux shell 中判断文件、目录是否存在的方法
    • linux shell中“.” 和 “./”执行的区别详解
    • Linux shell 提取文件名和目录名的方法
    • Linux利用Shell脚本部署jar包项目的完整步骤
    • Linux配置SSH和Xshell连接服务器的教程(图解)
    • linux shell(.sh)脚本编写和运行入门
    • 深入理解Linux shell中2>&1的含义(全网最全,看完就懂)
    • Linux shell实现压缩多个文件代码实例
    上一篇:mac使用Shell(终端)SSH连接远程服务器的方法
    下一篇:shell之创建文件及内容的方法示例
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信