首页 > 代码库 > Linux Shell数组常用操作详解

Linux Shell数组常用操作详解

Linux Shell数组常用操作详解

1数组定义:

declare -a 数组名

数组名=(元素1 元素2 元素3 )

1 declare -a array2 array=(1 2 3 4 5)

数组用小括号括起,数组元素之间用空格分开

2显示数组长度:

[@tc_132_227 dm_pid_day]$ echo ${#array[@]}5[@tc_132_227 dm_pid_day]$ echo ${#array[*]}5

命令:

${#数组名[@或*]} 获取数组长度,若数组无元素,输出空

3读取数组元素:

[@tc_132_227 dm_pid_day]$ echo ${array[0]}1[@tc_132_227 dm_pid_day]$ echo ${array[1]}2[@tc_132_227 dm_pid_day]$ echo ${array[4]}5[@tc_132_227 dm_pid_day]$ echo ${array[*]}1 2 3 4 5[@tc_132_227 dm_pid_day]$ echo ${array[@]}1 2 3 4 5

命令:
${数组名[下标]},数组下标从0开始,且下标为*或者@符号时,读取整个数组元素

4 对数组元素赋值:

[@tc_132_227 dm_pid_day]$ echo ${array[@]}1 2 3 4 5[@tc_132_227 dm_pid_day]$ array[1]=9[@tc_132_227 dm_pid_day]$ echo ${array[@]}1 9 3 4 5[@tc_132_227 dm_pid_day]$ array[8]=7[@tc_132_227 dm_pid_day]$ echo ${array[@]}1 9 3 4 5 7[@tc_132_227 dm_pid_day]$

命令:

数组名[下标]=元素 进行赋值  若下标不存在,则数组会自动增加一个新的元素

5删除数组元素:

[@tc_132_227 dm_pid_day]$ unset array[0][@tc_132_227 dm_pid_day]$ echo ${array[@]}2 3 4 5[@tc_132_227 dm_pid_day]$ echo ${#array[*]}4[@tc_132_227 dm_pid_day]$ unset array[1][@tc_132_227 dm_pid_day]$ echo ${array[*]}3 4 5[@tc_132_227 dm_pid_day]$ echo ${#array[*]}3[@tc_132_227 dm_pid_day]$ unset array[@tc_132_227 dm_pid_day]$ echo ${array[*]}[@tc_132_227 dm_pid_day]$

命令:

unset 数组名[下标]可以删除数组元素,  unset 数组名  删除整个数组

6数组分片:

[@tc_132_227 dm_pid_day]$ echo ${array[@]}1 2 3 4 5[@tc_132_227 dm_pid_day]$ echo ${array[@]:0:1}1[@tc_132_227 dm_pid_day]$ echo ${array[@]:1:1}2[@tc_132_227 dm_pid_day]$ echo ${array[@]:1:3}2 3 4
[@tc_132_227 dm_pid_day]$ arr=(${array[@]:1:3})[@tc_132_227 dm_pid_day]$ echo ${arr[@]}2 3 4[@tc_132_227 dm_pid_day]$ echo ${#arr[@]}3[@tc_132_227 dm_pid_day]$

命令: 

${数组名[@|*]:起始下标:长度} 会将原数组分片,并返回以“空格”为分隔符的一个字符串,若对该字符串外加"()“,则会得到一个新的分片数组

Linux Shell数组常用操作详解