zoukankan      html  css  js  c++  java
  • 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[@]}

  • 相关阅读:
    EF Core1.0 CodeFirst为Modell设置默认值!
    MvcPager分页控件使用注意事项!
    一个关于A标签和分页的怪问题!
    让Visual Studio Code对jQuery支持智能提示!
    MVC中获取所有按钮,并绑定事件!
    EF6.0 Code First使用mysql的各种错误和解决办法!!
    记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!
    Hibernate处理oracle lob总结
    怎样写 OpenStack Neutron 的 Extension (一)
    怎样写 OpenStack Neutron 的 Extension (二)
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5722845.html
Copyright © 2011-2022 走看看