Shell数组的增删改查
shell数组的定义及取值:
[root@slavedb test1]# a=(a b c)
[root@slavedb test1]# echo ${a[0]}
a
[root@slavedb test1]# echo ${a[1]}
b
[root@slavedb test1]# echo ${a[2]}
c
取出数组内所有的值:
[root@slavedb array]# echo ${array[@]}
1 2 3
或
[root@slavedb array]# echo ${array[*]}
1 2 3
截取数组元素的一部分:
[root@slavedb array]# array=(1 2 3 4 5)
[root@slavedb array]# echo ${array[@]:1:3}
2 3 4
[root@slavedb array]#
修改数组,并没有真正的修改:
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]# array=(1 2 3 4 5)
[root@slavedb array]# echo ${array[@]}
1 2 3 4 5
[root@slavedb array]# echo ${array[@]/2/888}
1 888 3 4 5
[root@slavedb array]#
数组key=value的定义方法:
[root@slavedb array]# array=([1]=one [2]=two [3]=three)
[root@slavedb array]# echo ${array[@]}
one two three
[root@slavedb array]# echo ${array[1]}
one
[root@slavedb array]# echo ${array[3]}
three
数组常用的定义方法:
[root@slavedb array]# array=($(pwd) $(w) $(uptime))
[root@slavedb array]# echo ${array[0]}
/tmp/array
[root@slavedb array]#