AI智能
改变未来

shell 数组

Shell 数组用括号()来表示,元素用空格分隔,元素的下标元素的下标从0开始。
数组常用定义方法包括以下几种。

  • 数组名=(value0 value1 value2 …)
  • 数组名=([0]=value [1]=value [2]=value …)
  • 列表名=”value0 value1 value2 …” 数组名=($列表名)
  • 数组名[0]=”value” 数组名[1]=”value” 数组名[2]=”value”
获取数组长度
[root@promote ~]# aaa=(1 2 3 4 5)[root@promote ~]# aaa=${#aaa[*]}[root@promote ~]# echo $aaa5
读取某下标赋值
[root@promote ~]# aaa=${aaa[1]}[root@promote ~]# echo $aaa2
数组遍历
#!/bin/bashnum=(11 22 33 44)for n in ${num}doecho ${num[*]}done
数组切片
[root@promote ~]# aaa=(1 2 3 4 5)[root@promote ~]# echo ${aaa[*]} #输出整个数组1 2 3 4 5[root@promote ~]# echo ${aaa[*]:0:2} #${数组名[@或*]:起始位置:长度}1 2[root@promote ~]# echo ${aaa[*]:2:3}3 4 5

将数组切片之后,返回的是字符串,以空格作为分隔符。

数组替换
[root@promote ~]# echo ${aaa[*]}1 2 3 4 5[root@promote ~]# aaa=(${aaa[*]/1/22})[root@promote ~]# echo ${aaa[*]}22 2 3 4 5
删除数组
#删除指定元素[root@promote ~]# aaa=(1 2 3 4 5)[root@promote ~]# unset aaa[1]  #下标[root@promote ~]# echo ${aaa[*]}1 3 4 5[root@promote ~]# unset aaa[*][root@promote ~]# echo ${aaa[*]}
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » shell 数组