Shell总结06-数组
创建数组
##间接指定元素创建数组,下标范围没有限制
array[0]=a
array[1]=b
array[2]=c
array[3]=d
array[4]=e
##直接创建
array=(a b c d e) #空格作为分隔符
##使用shell内建关键字 declare 创建数组
declare -a array
array=(a b c d e)
declare -p array
访问数组
echo ${#array[@]} #获取数组长度
echo ${#array[*]} #获取数组长度
echo ${array[0]} #访问第一个元素
echo ${array:0} #访问第一个元素
echo ${array[@]:1:4} ##获取指定范围的元素
echo ${#array[2]} ##获取第三个元素的长度
操作数组元素
array+=(f) ##添加数组元素
unset array[1] ##删除第1个数组元素
echo ${array[@]/c/} ### 搜索元素c
echo ${array[@]//a/x} ### 替换元素a为x
unset array ##删除整个数组
程序清单
#!/bin/bash
#set -x
#set -v
declare -a array
array=(a b c d e)
declare -p array
echo ${#array[@]} #获取数组长度
echo ${#array[*]} #获取数组长度
echo ${array[0]} #访问第一个元素
echo ${array:0} #访问第一个元素
echo ${array[@]:1:4} #获取指定范围的元素
echo ${#array[2]} #获取第三个元素的长度
array+=(f) #添加数组元素
unset array[1] #删除第1个数组元素
echo ${array[@]/c/} #搜索元素c
echo ${array[@]//a/x} #替换元素a为x
unset array #删除整个数组
#运行结果
declare -a array='([0]="a" [1]="b" [2]="c" [3]="d" [4]="e")'
5
5
a
a
b c d e
1
a d e f
x c d e f