shell脚本-数组
2024-08-23 23:18:53
shell脚本-数组
数组
变量:存储单个元素的内存空间。
数组:存储多个元素的连续的内存空间,相当于多个变量的集合。
数组索引:编号从0开始,属于数值索引。索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引。
数组赋值
数组元素的赋值:
一次只赋值一个元素;
ARRAY_NAME[INDEX]=VALUE
weekdays[0]="Sunday"
weekdays[4]="Thursday"
一次赋值全部元素:
ARRAY_NAME=("VAL1" "VAL2" "VAL3" ...)
只赋值特定元素:
ARRAY_NAME=([0]="VAL1" [3]="VAL2" ...)
交互式数组值对赋值
read -a ARRAY ;在一行输入
显示所有数组:
declare -a
追加元素到数组
ARRAY[${#ARRAY[*]}]=value
数组引用
引用数组元素 :
${ARRAY_NAME[INDEX]}
注意:[INDEX] 表示引用下标为0的元素
引用数组所有元素:
${ARRAY_NAME[*]}
${ARRAY_NAME[@]}
数组中元素的个数:
${#ARRAY_NAME[*]}
${#ARRAY_NAME[@]}
引用数组中的某些元素
称为数组切片
${ARRAY[@]:offset:number}
offset: 要跳过的元素个数
number: 要取出的元素个数
${ARRAY[@]:offset} ##取偏移量之后的所有元素
删除数组
删除数组中的某元素:
导致稀疏格式
unset ARRAY[INDEX]
删除整个数组 :
unset ARRAY
关联数组
declare -A $ARRAY_NAME
ARRAY_NAME=([idx_name1]='val1' [idx_name2]='val2‘...)
idx_name为任意字符,数值,单词等等
注意 :关联数组必须先声明再调用
最新文章
- mbed学习之 PWMOUT
- iOS开发小技巧--TableView中headerView的循环利用,以及自定义的headerView
- Swift编程语言资料合集
- s3c2440 移值u-boot-2016.03 第5篇 支持dm9000 识别
- three.js 相关概念
- Linux内核--网络栈实现分析(一)--网络栈初始化
- 【汇总】iOS开发及Xcode使用中遇到的一些报错问题汇总
- activity-intent-startActivity-startActivityResult
- rownum(转载)
- VS2013 opencv2.4.8
- poj 1743
- HTML表单属性集合
- channel.go
- [Swift]LeetCode401. 二进制手表 | Binary Watch
- Ember.js 看法,精辟
- 【BZOJ1449】 球队收益
- day02python入门
- Kotlin Linux下的环境搭建
- springboot默认创建的bean是单实还是多例
- day43 数据库学习egon的博客 索引