• 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 ~]# 
  • 相关阅读:
    Android平台下基于XMPP的IM研究
    Android File数据存储
    Android 获取屏幕分辨率的方式
    Android TabHost 动态修改图标或者动态改变标题
    Android DatePickerDialog用法
    SharedPreference Demo
    progressdialog 去边框
    [LCT学习时的一些笔记]
    [ZJOI2007]最大半连通子图
    【Matrixtree Theorem学习笔记】
  • 原文地址:https://www.cnblogs.com/boshen-hzb/p/6249049.html
Copyright © 2020-2023  润新知