• shell中的数组


    声明

    alphas[2]=c
    
    alphas[0]=a
    
    alphas[1]=b
    alphas=([2]=c [0]=a [1]=b)
    alphas=(a b c)

    上面3种形式都声明的数组包含相同的内容,第一个元素是a,第二个元素是b,第三个元素是c。

    其中,第二种方式可以和第三种方式混合使用:

    alphas=([2]=c  [0]=a [1]=b d e)

    当使用这种方式声明时,d和e的索引号直接顺接前面指定的索引,因此,本例中,d的索引号为2,e的索引号为3,因此,整个数组就是a b d e,原来索引2的元素c被d覆盖

    为数组单个元素赋值

    如果想为数组单个元素赋值,直接使用alpha[index]=value

    为整个数组赋值

    如果重新为整个数组赋值,可以直接使用声明的第二种或者第三种或者两者的混合形式。重新为整个数组赋值之后,数组原来的值就lost了

    引用数组单个元素

    引用数组单个元素使用${alphas[index]},比如${alphas[1]}引用的就是元素b。而直接$alphas引用的数组的第0个元素。

    引用整个数组

    引用整个数组可以使用*和@符号,其中的差别和命令行参数一样。完全取决于有没有加双引号,如果不加双引号,则两者是一样的。引用形式为${alphas[*]}或者${alphas[@]}

    移除数组单个元素

    alphas=(a b c)
    unset alphas[1]

    上面代码首先声明了一个包含3个元素的数组alphas,之后移除了第1个元素。这里需要注意的是,虽然移除了第一个元素,但是不表示${alphas[1]}就是c,相反,c仍然是第2个元素,用${alphas[2]}引用。也就是说,此时数组alphas中只有2个元素,第0个元素a,第2个元素c。

    移除整个数组

    alphas=(a b c)
    unset alphas 或者 unset alphas[*] 或者 unset alphas[@]


    获取数组中每一个元素的对应索引

    alphas=([0]=a [5]=b [100]=c)
    echo ${!alphas[*]} 或者 echo ${!alphas[@]}

    上面代码可以获取数组alphas中元素的索引值:0 5 100

    获取单个元素的长度

    想要获取数组中单个元素的长度,使用${#alphas[index]}

    获取整个数组的长度

    想要获取整个数组的长度,使用${#alphas[*]}或者${#alphas[@]}

  • 相关阅读:
    [NodeJS] Node.js 编码转换
    [SublimeText] 如何创建工程
    浏览器 user-agent 字符串的故事
    [Ubuntu] geoip-bin 程序包
    在 Ubuntu 中安装 MySQL 指南
    在 Ubuntu 13.10 安装 PyCharm 3.0.1 & Oracle JDK
    [Command] lrzsz
    [Linux] 如何修改 Linux 主机名
    如何在 Ubuntu 中安装 Node.js
    [Linux] 修改用户名密码
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5722845.html
Copyright © 2020-2023  润新知