• shell数组操作


    1.数组定义,shell使用一对括号表示数组,数组元素间用”空格”分隔

    # 空数组arr1
    arr1=()
    # 数组arr2,成员分别是1, 2, 3, 4, 5, 6
    arr2=(1 2 3 4 5 6)

    2.数组元素读取,格式:${数组名[下标]},下标从0开始,下标为*或@代表整个数组内容

    [root@10 ~]# echo ${arr2[0]}
    1
    
    [root@10 ~]# echo ${arr2[*]}
    1 2 3 4 5 6

    3.遍历数组, foreach

    for num in ${arr2[*]}; do
        echo $num;
    done;
    

    4.数组长度,格式:${#数组名[*或@]}

    [root@10 ~]# echo ${#arr2[*]}
    6

    5.赋值,格式:数组名[下标]=值,如果下标不存在,则新增数组元素; 下标已有,则覆盖值

    [root@10 ~]# arr2[6]=7
    [root@10 ~]# echo ${arr2[*]}                    
    1 2 3 4 5 6 7
    [root@10 ~]# arr2[0]=-1
    [root@10 ~]# echo ${arr2[*]}
    -1 2 3 4 5 6 7

    6.分片,格式:${数组名[*或@]:起始位:长度},截取部分数组,返回字符串,中间用空格分隔;将结果使用“()”,则得到新的切片数组

    [root@10 ~]# echo ${arr2[*]:0:3}
    -1 2 3
    [root@10 ~]# arr3=(${arr2[*]:0:3})
    [root@10 ~]# echo ${arr3[*]}
    -1 2 3

    7.替换元素,格式:${数组名[*或@]/查找字符/替换字符}, 不会修改原数组;如需修改的数组,将结果使用“()”赋给新数组

    [root@10 ~]# echo ${arr2[*]}     
    -1 2 3 4 5 6 7
    [root@10 ~]# echo ${arr2[*]/7/10}
    -1 2 3 4 5 6 10
    [root@10 ~]# arr4=(${arr2[*]/7/10})
    [root@10 ~]# echo ${arr4[*]}
    -1 2 3 4 5 6 10
    

    8.删除数组,格式:unset 数组,清除整个数组; unset 数组[下标],清除单个元素

    
    [root@10 ~]# echo ${arr2[*]}
    -1 2 3 4 5 6 7
    [root@10 ~]# unset arr2[0]
    [root@10 ~]# echo ${arr2[*]}
    2 3 4 5 6 7
    
    [root@10 ~]# unset arr2
    [root@10 ~]# echo ${arr2[*]}
    
    [root@10 ~]# 
  • 相关阅读:
    查全球服务器的网站
    linux passwd文件中位置所对应的信息
    linux目录清单
    mysql自动添加编号
    mysql优化学习
    maven的基本使用2
    SpringBoot的基本使用
    Mybatis的缓存
    部分属性及方法的浏览器兼容问题
    Mybatis的sql mapper映射文件详解
  • 原文地址:https://www.cnblogs.com/boshen-hzb/p/6249049.html
Copyright © 2020-2023  润新知