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为任意字符,数值,单词等等
注意 :关联数组必须先声明再调用

最新文章

  1. mbed学习之 PWMOUT
  2. iOS开发小技巧--TableView中headerView的循环利用,以及自定义的headerView
  3. Swift编程语言资料合集
  4. s3c2440 移值u-boot-2016.03 第5篇 支持dm9000 识别
  5. three.js 相关概念
  6. Linux内核--网络栈实现分析(一)--网络栈初始化
  7. 【汇总】iOS开发及Xcode使用中遇到的一些报错问题汇总
  8. activity-intent-startActivity-startActivityResult
  9. rownum(转载)
  10. VS2013 opencv2.4.8
  11. poj 1743
  12. HTML表单属性集合
  13. channel.go
  14. [Swift]LeetCode401. 二进制手表 | Binary Watch
  15. Ember.js 看法,精辟
  16. 【BZOJ1449】 球队收益
  17. day02python入门
  18. Kotlin Linux下的环境搭建
  19. springboot默认创建的bean是单实还是多例
  20. day43 数据库学习egon的博客 索引

热门文章

  1. Unity中带有alpha通道的视频叠加播放
  2. java几种连接数据库的方法
  3. 07Html、CSS
  4. UVA - 12113 Overlapping Squares(dfs+回溯)
  5. Xshell(smarTTY)连接Linux虚拟机失败(未开放22端口)解决办法
  6. 第十四节:Web爬虫之Ajax数据爬取
  7. sql杂记:一些坑和数据库恢复
  8. vue列表渲染,以及鼠标点击改变样式的问题
  9. POJ -棋盘问题
  10. 3.2.3.7 ERE 运算符的优先级