1.1.4 数组变动
学习目标
这一节,我们从 元素修改、元素删除、小结 三个方面来学习。
元素修改
简介
数组元素的改其实就是定义数组时候的单元素定义,主要包含两种,元素替换,元素部分内容替换,格式如下
元素内容替换:
array_name[index]=值
注意:
在修改元素的时候,index的值一定要保持准确
元素部分内容替换,可以参考字符串替换格式:
${array_name[index]/原内容/新内容}
注意:
默认是演示效果,原数组未被修改,如果真要更改需要结合单元素内容替换
简单实践
修改指定位置的值
[root@localhost ~]# num_list[2]=aaa
[root@localhost ~]# echo ${num_list[@]}
123 234 aaa 456 567
替换元素值的特定内容
[root@localhost ~]# echo ${num_list[2]/aa/lualu-}
lualu-a
[root@localhost ~]# num_list[2]=${num_list[2]/aa/lualu-}
[root@localhost ~]# echo ${num_list[@]}
123 234 lualu-a 456 567
元素删除
简介
将shell中的数组删除,可以使用unset来实现,主要有两种情况:删除单元素,删除整个数组。格式如下:
删除单元素
unset array_name[index]
删除整个数组
unset array_name
简单实践
删除指定的元素
[root@localhost ~]# echo ${num_list[@]}
123 234 lualu-a 456 567
[root@localhost ~]# unset num_list[2]
[root@localhost ~]# echo ${num_list[@]}
123 234 456 567
[root@localhost ~]# unset num_list[2]
[root@localhost ~]# echo ${num_list[@]}
123 234 456 567
[root@localhost ~]# unset num_list[1]
[root@localhost ~]# echo ${num_list[@]}
123 456 567
[root@localhost ~]# echo ${!num_list[@]}
0 3 4
替换元素值的特定内容
[root@localhost ~]# unset num_list
[root@localhost ~]# echo ${!num_list[@]}
[root@localhost ~]#