Shell编程基础(九)数组

本文介绍了数组在编程中的基本概念,包括普通数组和关联数组的定义方式,以及如何操作数组如查看值、长度、截取和删除元素。
摘要由CSDN通过智能技术生成

定义

同其他编程语言一样,数组用于保存多个数据
将之前的多个变量放到一个数组中
数组根据索引的不同可以分为 普通数组 和 关联数组
所谓关联数组,就是索引可以自定义;普通的数组索引只能一个一个按数字递增

创建数组

定义普通数组

arr=(1 2 3)

数据项通过 空格 隔开,而不是习以为常的逗号
还可以手动指定索引及对应的值

arr=([0]= [1]=2 [2]=3)

这两种方式还可以混合使用

arr=(1 2 3 [4]=9 4)

但是要特别注意,[0] 的方式优先级高于直接写值方式 而且跟在[index] 后面的直接定义的值会基于前面的 index 递增再次设值,如果 index 超过了当前数组大小,则中间那些索引都是空的

定义关联数组

定义关联数组,需要先声明,再赋值

declare -A arr
arr=([zhangsan]=10 [lisi]=15 [wangwu]=9)

操作数组

  • 查看指定索引的值
echo ${arr[index]}
  • 查看所有值
echo ${arr[@]} 或者 arr[*]
  • 查看所有索引
echo ${!arr[@]} 或者 arr[*]
  • 查看数组长度
echo ${#arr[@]} 或者 arr[*]
  • 查看所有已定义的数组
declard -a
  • 截取数组
    arr[@] : 开始截取的索引 : 向后截取的个数
    未指定个数时,取后面所有元素
echo ${arr[@] : 0 : 2}
  • 移除数组定义(和其他变量一样)
unset arr
  • 移除数组某一项
unset arr[index]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值