shell ——数组

 数组的概念

数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。shell不限制数组的大小,理论上可以存放无限量的数据,shell数组元素的下标也是从0开始计数

 定义数组的方法

方法一:

  数组名=(value1 value2 value3 value4 ...)

方法二:

先定义列表,再引用列表的值定义数组。

 列表名="value1  value2 value3 value4 "
 数组名=($列表名)

 

方法三:

用过下标值定义每个元素。

 数组名=([0]=value1  [1]=value2  [2]=value3 [3]=value4)

 方法四:

通过下标值,一个一个定义数组内的每个元素。

 数组名[0]=value1
 ​
 数组名[1]=value2
 ​
 数组名[2]=value3

引用数组的值

获取数组的数据列表(所有元素的值)


 echo ${array[@]}    或    echo ${array[*]}

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

 ${数组名[n]}       //n代表元素的下标
 ​
 echo ${array[0]}   //获取数组内第一个元素的值(下标为0的元素值)
 echo ${array[1]}   //获取数组内第二个元素的值(下标为1的元素值)

 

获取数组的长度

 echo ${#数组名[*]}    或    echo ${#数组名[@]}

 数组分片(数组截取)

格式:

 ${数组名[@]:起始位置:截取长度}        //起始位置从0算起
 ​
 ${数组名[@]}           //获取整个数组的元素值
 ${数组名[@]:0:3}      //从下标为0的元素开始截取,共截取3个元素。(即截取元素1到元素3)
 ${数组名[@]:2:2}      //从下标为2的元素开始截取,共截取2个元素。(即截取元素3到元素4)

 数组追加元素

方法一:
数组名[n]=元素值

方法二:
数组名[数组长度]=元素值
 //此种方法必须保证数组元素是完整的,如果某个下标被跳过了,此种方法会替换掉原来的某个元素

方法三:
数组名=("${数组[@]}" 元素1 ... 元素n)
//引用数组值必须加双引号,不然原数组内有空格的单个元素(例如"zhang san")会被当成2个元素。
//且必须使用@,因为加上双引号之后"$@"表示将所有参数当作个体,而$*表示将所有参数当作一个整体。

1、引用数组的所有元素值一定要使用$@,因为加上双引号之后"$@"表示将所有参数当作个体

 2、如果使用$*,那么数组内的所有元素会被当作一个整体,即被当成一个元素

方法四:
数组名+=(元素1 ... 元素n)

删除数组

删除数组内的某个元素

 unset 数组名[n]        //删除数组内的某一个元素,n为下标值

删除整个数组

 unset 数组名[*]   或   unset 数组名[@] 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值