当前位置:网站首页>Shell脚本数组
Shell脚本数组
2022-08-10 09:41:00 【Y坚定的唯物主义者】
目录
一、数组的定义
数组是存放相同类型数据的集合,在内存中开辟了连续的空间,通常配合循环使用
二、数组的分类
普通数组:不需要声明直接定义,下标索引只能是整数
关联数组:需要用declare -A声明否则系统不识别,索引可以是字符串
三、数组定义方法
方法一:
数组名=([0]=value [1]=value [2]=value ……)
方法二:
数组名=([0]=value [1]=value [2]=value ……)
方法三:
列表名=“value0 value1 value2 ……”
数组名=($列表名)
方法四:
数组名 [0]=“value”
数组名 [1]=“value”
数组名 [2]=“value”四、数组的格式
arr=(11 22 33 44)
数组名称:arr
数组元素:11,12,12,14,数组元素默认是以空格分隔的
数组长度:4,有4个元素
数组下标:每个数组元素都有一个下标索引,一般从0开始,33是数组第三个元素,但是它的下标索引是2
1.数组切片

2.数组的替换
- 能替换宿主里面所有能够对应的字符串

3.数组删除

4.数组的遍历
#用遍历的方法去检查是否少元素:
[[email protected] ~]# for i in ${array1[@]}
> do
> echo $i
> done
11
22
33
44
55
[[email protected] ~]# length=${#array1[*]}
[[email protected] ~]# for ((i=0; i<=$length; i++))
> do
> echo "第$[$i+1] 个元素的值为:${array1[$i]}"
> done
第1 个元素的值为:11
第2 个元素的值为:22
第3 个元素的值为:33
第4 个元素的值为:44
第5 个元素的值为:55
第6 个元素的值为:五、冒泡排序
方法一:

方法二:

总结:
数组的定义方法不唯一
- 直接把要加入数组的元素用小括号括起来,中间用空格分开
- 精确的给每一个下标索引定义一个值加入数组,索引数字可以不连续
- 先把要加入数组的元素全部先赋值给一个变量,然后引用这个变量加入到数组
- 可以把命令的结果用小括号括起来添加到数组,那么数组会以空格或者制表符区分每一个元素
边栏推荐
猜你喜欢

shell------ commonly used gadgets, sort, uniq, tr, cut

不要把公司当成家,被通知裁员时会变得不幸...

LCD DRM驱动框架分析一

2022-08-09 第六小组 瞒春 学习笔记

Vivado时序约束中Tcl命令的对象及属性

JVM探究

Which is the strongest workflow engine for "Technology Selection"?Chief Architecture Helps You Pick

英伟达游戏显卡营收暴跌/ 谷歌数据中心爆炸致3人受伤/ iPhone电量百分比回归…今日更多新鲜事在此...

shell------常用小工具,sort,uniq,tr,cut

支付 x 聚合 x 分账 - 回流平台“二清”风险规避之路
随机推荐
shell iterates over folders and outputs
单例模式基类
makefile 杂项
【系统设计】S3 对象存储
keepalived:常见问题
Optimistic and pessimistic locking
Controller层代码这么写,简洁又优雅!
Chapter 3 Search and Graph Theory (3)
Excel draws statistical graphs
OLTP and OLAP database architecture 】 【 : actual comparison
Singleton pattern base class
mysql千万级别数据库优化
IDEA中xml文件头报错:URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
不要把公司当成家,被通知裁员时会变得不幸...
【REST架构】OData、JsonAPI、GraphQL 有什么区别?
dos环境下操作mysql
Shell functions and arrays
钻石价格预测的ML全流程!从模型构建调优道部署应用!
FPGA时钟篇(二) 7系列clock region详解
如何理解BIO、NIO、AIO的区别