shell脚本数组

何为数组?

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

数组的作用是用于储存多个相同类型数据的集合。

数组定义方法

方法一:

数组名=(元素1 元素2 元素3 元素4 ...)
        a=(10 20 30 40 50)

例:

方法二:下标定义元素

数组名=([下标1]=元素1 [下标2]=元素2 [下标3]=元素3 [下标4]=元素4 ...)
        a=([0]=10 [1]=20 [2]=30 [3]=40 [4]=50)

例:

方法三:引用列表定义数组

列表名="元素1 元素2 元素3 元素4.."
        b=“10 20 30 40 50”
        a=($b)

例:

方法四:逐个赋值

数组名[下标1]="元素1"

数组名[下标2]="元素2"

数组名[下标3]="元素3"
        a[0]="10"
        a[1]="20"
        a[2]="30"
        a[3]="40"

例:

查看数组内所有元素

1、echo $a        输出第一个元素

2、echo ${a [*]}    输出所有元素

3、echo ${a [@]}    输出所有元素

4、echo ${#a[*]} 或 echo ${#a[@]}显示长度(即数组内含有多少个元素) 

 查看数组内某一个元素

格式:

echo ${数组名[下标数]}        注意下标数是从0开始计算

例:

 此时查看的是数组中下标数为1的元素,即数组中的第二个位置的元素,所有输出的值为20

查看数组内最后一个元素的值 

格式一:

echo ${a[-1]}

例:

格式二(可以用该方法查看最后一个元素值,判断这个数组的下标是否完整):

例:

 获取数组内倒数第二个元素的值

格式:

echo ${a[-2]}

 数组截取

格式:

${数组名[@]:起始位置:截取长度}        #起始位置以下标为准,从0开始

例一:

截取起始下标为1,长度为2的数组片段,即数组下标为1到2的数组片段

 例二:

截取起始下标为1,长度为4的数组片段,即数组下标为1到4的数组片段

数组元素临时替换 

格式:

echo ${数组名[@]/旧字符/新字符}        #新字符替换数组中匹配到的所有旧字符元素

例(只有一个旧字符):

 例(数组中有多个相同的就字符):

例(将所有0替换成8)

tip:上述所有替换中,并不改变原有数组的元素 

数组重新赋值

格式:

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

例:

 删除数组

删除数组内的某一个元素

格式:

unset 数组名[下标数]

例:

 删除整个数组

格式:

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

例:

 

 用for语句遍历出数组中所有元素

例一:

 例二(通过下标遍历):

 tip:若下标不为连续,对应下标无元素,则该下标的值为空

数组的值传给函数

例:

注:函数中$*的意思是调用函数后面所有的参数,若将$*换为$1则只会获取调用函数时数组的第一个元素,不会获取所有元素;如下所示:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值