定义数组 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