Shell脚本之数组

shell数组的定义

1、数组中可以存在多个值。Bash Shell只支持一维数组(不支持多维数组)

2、数组元素的下标由0开始。

3、Shell数组用括号来表示,元素用“空格”符号分割开。

4、在shell语句中,使用、遍历数组的时候,数组格式要写成${arr[@]}或${arr[*]}

定义数组的方

方法一:

数组名=(value0 value1 value2 ...)

以空格间隔,如果值为字符类型,需要加单引号或双引号

方法二:

数组名=([0]=value [1]=value [2]=value ...)

以空格间隔,“ [ ] ”里表示元素的下标,第一个元素从0开始

方法三:

列表名="value0 value1 value2 ..."

数组名=($列表名)

方法四:

数组名 [0]="value"

数组名 [1]="value"

数组名 [2]="value"

获取数组的所有元素的值

${数组名[*]}

${数组名[@]}

 

 

 获取数组的长度

${#数组名[*]}

${#数组名[@]}

 

 

判断数组是否完整

${数组名[数组长度]}如果此值为空,则代表数组完整,因为最后一个元素的下标是 数组长度减一

获取数组的某一个元素的值

${数组名[n]}     代表元素的下标,范围为0~长度减一

 

 

数组分片   截取

${数组名[@]:起始位置:截取长度}   起始位置是从0算起的

 

 

数组字符替换

${数组名[@]/旧字符/新字符}   会替换所有元素上能匹配到的字符,但是这是临时替换不会影响原有数组,可通过重新赋值实现替换原有数组    数组名=(${数组名[@]}/旧字符/新字符)

 

删除数组

unset 数组名[n]     删除某一个元素

unset 数组名[n]      /        unset 数组名[n]      删除整个数组

 

追加数组

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

数组名=("${数组名[@]}"元素1   元素2   ...)

数组名[数组长度]=元素值

数组名[n]=值

如何向函数传参:


 向函数传入数组的时候需要先把数组转换成列表作为函数参数使用    函数名  ${数组名1[@]} 
  在函数内把传入的列表重新组合成数组                            数组名2=($@)
  函数外重新组合成数组                                          数组名3=(`函数名  ${数组名1[@]}`)

 

冒泡排序

 

 

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值