zoukankan      html  css  js  c++  java
  • Linux中Shell数组的笔记

    4418040-4b4ae17a07b31b91

    Shell数组的介绍

    数组算是一种特殊的数据结构,数据项可以成为数组的元素,可以通过数组的索引获取每一个数组的元素值。

    数组的典型的使用场景是把相同类型的元素汇总在一起。由于Shell变量属于弱类型,所以数组里面的元素并不一定是相同类型。

    注意:Shell中的数组只支持一维数组,但对元素的个数没有限制,数组元素的索引也是从0开始。

    数组的定义

    数组的定义格式:declare -a 数组名称

    比如:declare -a testarr #定义一个testarr数组

    testarr[0]=10 #第一个元素赋值

    testarr[1]="hello" #第二个元素赋值

    #数组定义的时候同时赋值

    declare -a testarr=(10,'hello') 等价于 testarr=(10,'hello')

    testarr[2]=20 #增加元素

    #不连续赋值

    testarr1=([1]=10 [3]=30 [5]=50)

    数组的操作

    1、数组的取值

    格式如下:${数组名[索引]}

    比如:echo ${testarr[0]}

    echo ${testarr[@]} #获取元素的所有值  输出以空格隔开的元素值

    echo ${testarr[*]} #获取元素的所有值,输出的是一整个字符串

    2、数组长度

    方法如下:

    echo ${#testarr[@]} #获取数组元素的个数

    echo ${#testarr[*]} #获取数组元素的个数

    echo ${#testarr[0]} #获取数组某一个元素的长度

    3、数组截取

    echo ${testarr[@]:1:2} 

    #获取数组的索引值是1、2的元素

    echo ${testarr[2]:0:2} 

    #获取数组索引值是2元素值截取从第0个字符开始连续2个字符

    4、连接数组

    testarr2={${testarr[@]} ${testarr1[@]}} #合并数组

    5、替换元素:将数组内某个元素值替换成其他值

    testarr=($testarr[@]/hello/helloworld)

    6、取消数组或元素

    unset $testarr #取消数组

    unset $testarr[0] #取消数组的一个元素

  • 相关阅读:
    干货 | 日均流量200亿,携程高性能全异步网关实践 https://mp.weixin.qq.com/s/JdbPf_H4pn5PnPH2LIKQlw
    go获取机器的mac地址和ip
    扫清障碍和风险
    如何优雅地记录操作日志
    WebSocket 基础与应用系列(一
    pytest测试框架
    两个循环依赖的类中都有@Async 报错问题
    jvm 分析常用笔记
    Qt5.2~5.8下载地址
    windows的bat脚本中文乱码或者文件中文乱码
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351146.html
Copyright © 2011-2022 走看看