shell编程:数组

220 阅读1分钟

数组

数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。 组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。 用于区分数组的各个元素的数字编号称为下标。元素的下标从0开始。 数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。 这些有序排列的同类数据元素的集合称为数组。

定义数组

Shell中,数组用括号来表示,元素用"空格"符号分隔开。

数组包括的数据类型:

  • 数值型
  • 字符型 (如果元素值为字符类型,需要加单引号或双引号,防止单个元素中有空格被当成2个元素)
  • 混合型数值加字符

格式如下

  • 数组名=(value0 value1 value2 ..........valuen)
  • 数组名=( [0]=value1 [1]=value2 [2]=value3.........[N-1]=valueN )
  • 列表名="value1 value2 value3...........valueN"
  • 数组名[0]=value1
  • 数组名[1]=value2
  • 数组名[2]=value3
  • 数组名[3]=value4
  • 数组名[N-1]=valueN

image.png

引用数组

获取数组所有元素的值

echo ${array[*]}

image.png

查看数组内某一个元素的值

${数组名[n]}

image.png

获取数组的长度

echo ${#数组名[*]}

image.png

数组截取

${数组名[*]:起始位置:截取长度}

image.png

元素替换

数组名=(${数组名[@]/旧字符/新字符})

image.png

删除数组

删除某个元素时

unset 数组名[n]

image.png

删除整个数组

unset 数组名[*]

image.png

增加数组内的元素

数组名[n]=元素值

image.png

数组名+=(元素1 元素2 .....)

image.png

数组在函数的传参

image.png