zoukankan      html  css  js  c++  java
  • 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 ~]# 
  • 相关阅读:
    软件工程实践总结
    Axios使用总结
    个人作业——软件测评
    结对第二次作业-疫情统计可视化实现
    结对第一次——疫情统计可视化(原型)
    软工实践寒假作业(2/2)
    软工实践寒假作业(1/2)
    Springboot后端接口开发
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件评测
  • 原文地址:https://www.cnblogs.com/boshen-hzb/p/6249049.html
Copyright © 2011-2022 走看看