定义数组 a=(1 2 3 4 5 6) 打印数组 echo ${a[@]} 或者 echo ${a[*]}
[root@lynn-04 shell]# a=(1 2 3 4 5 6)
[root@lynn-04 shell]# echo ${a[@]}
1 2 3 4 5 6
[root@lynn-04 shell]# echo ${a[*]}
1 2 3 4 5 6
通过下标打印数组中的元素
[root@lynn-04 shell]# echo ${a[0]}
1
[root@lynn-04 shell]# echo ${a[1]}
2
[root@lynn-04 shell]# echo ${a[2]}
3
[root@lynn-04 shell]# echo ${a[3]}
4
[root@lynn-04 shell]# echo ${a[4]}
5
[root@lynn-04 shell]# echo ${a[5]}
6
[root@lynn-04 shell]# echo ${a[6]}
[root@lynn-04 shell]# echo ${a[7]}
[root@lynn-04 shell]#
获取数组元素的个数 echo ${#a[@]}
[root@lynn-04 shell]# echo ${#a[@]}
6
数组的赋值 存在则替换 不存在则增加 【通过下标来定位】
[root@lynn-04 shell]# a[6]=100
[root@lynn-04 shell]# echo ${a[@]}
1 2 3 4 5 6 100
[root@lynn-04 shell]# a[6]=aa
[root@lynn-04 shell]# echo ${a[@]}
1 2 3 4 5 6 aa
数组删除元素 【通过下标来定位】
[root@lynn-04 shell]# unset a[6]
[root@lynn-04 shell]# echo ${a[@]}
1 2 3 4 5 6
[root@lynn-04 shell]# unset a
[root@lynn-04 shell]# echo ${a[@]}
[root@lynn-04 shell]#
数组的切片
[root@lynn-04 shell]# b=(`seq 1 10`)
[root@lynn-04 shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[root@lynn-04 shell]# echo ${b[@]:3:4} #从下标为三的元素开始截取 截取4个
4 5 6 7
[root@lynn-04 shell]# echo ${b[@]:0-3:2} #从下标为倒数第三的元素开始截取 截取2个
8 9
数组元素的替换
[root@lynn-04 shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[root@lynn-04 shell]# echo ${b[@]/3/33} #只在显示结果里替换元素 数组不变
1 2 33 4 5 6 7 8 9 10
[root@lynn-04 shell]# echo ${b[@]/7/77} #只在显示结果里替换元素 数组不变
1 2 3 4 5 6 77 8 9 10
[root@lynn-04 shell]# echo ${b[@]}
1 2 3 4 5 6 7 8 9 10
[root@lynn-04 shell]# b=(${b[@]/8/888}) #改变数组组成元素
[root@lynn-04 shell]# echo ${b[@]}
1 2 3 4 5 6 7 888 9 10