网站首页 > 教程分享 正文
1 定义数组
所谓数组,是指将具有相同类型的若干变量按照一定的顺序组织起来的一种数据类型。介绍最常用的几种数组定义方法。
1.1 通过指定元素值来定义数组
1.2 通过declare语句定义数组
我们已经介绍过,用户可以通过declare语句来声明变量。除此之外,用户还可以使用该语句来定义数组。
在上面的语法中,a选项表示后面定义的是一个数组,其名称为array。
1.3 通过元素值集合定义数组
1.4 通过键值对定义数组
1.5 数组和普通变量
在Shell中,所有的普通变量实际上都可以当做数组变量来使用。对普通变量操作与对相同名称的下标为0的元素的操作是等效的。
2 数组的赋值
2.1 按索引为元素赋值
2.2 通过集合为数组赋值
3 访问数组
3.1 访问第1个数组元素
3.2 通过下标访问数组元素
3.3 计算数组的长度
或者
3.4 以切片方式获取部分数组元素
所谓切片,是指截取数组的部分元素或者某个元素的部分内容。例如,指定一个具体的数组,截取从第2个元素开始的5个元素。或者,截取某个数组中指定元素的前几个字符。
当然,对于上面所说的切片,用户完全可以使用循环结构来实现。但是对于切片,Shell提供了更加快捷的方式。用户可以像获取数组元素的值一样来获取数组的某个切片。获取切片的基本方法如下:
通过上面的方式,用户得到的切片是一个字符串,并非数组。当然用户可以将这个切片赋给其他的变量,以供其他地方使用。下面的例子就验证了这一点。
但是,在某些情况下,用户可能希望切片得到的结果仍然是一个数组。要得到这个结果,用户可以使用圆括号操作符,其基本语法如下:
上面的语法只是在原来的基础上增加了一对圆括号。
除了可以对数组进行切片之外,用户还可以对数组元素进行切片,截取某个数组元素的一部分,得到一个子字符串。对数组元素进行切片的语法与对数组进行切片的语法基本相同。只是将其中的通配符换成某个具体的下标,如下:
在上面的代码中,第6行对下标为4的第5个元素进行切片,从第3个字符开始,截取其中的4个字符。该程序的执行结果如下:
注:
无论是对数组进行切片还是对数组元素进行切片,如果其中的长度值超过数组或者数组元素的长度,都会截取到数组或者数组元素的末尾为止。
3.5 数组元素的替换
在Shell中,用户还可以对数组进行另外一种特殊的操作,称为数组元素的替换。所谓替换,是指将某个数组元素的部分内容用其他的字符串来代替,但是并不影响原来的数组的值。
在上面的语法中,array表示要操作的数组名称,pattern参数表示要搜索的字符串,replacement参数表示用来替换的字符串。
注:
为了得到一个新的数组变量,用户需要使用圆括号操作符。否则,得到的将是一个字符串变量。
4 删除数组
4.1 删除指定数组元素
与删除其他的Shell变量一样,用户可以使用unset命令来删除某个数组元素,其基本语法如下:
在上面的语法中,array表示数组名称,n表示要删除的数组元素的下标,从0开始计算。
4.2 删除整个数组
如果某个数组不再需要了,用户同样可以使用unset命令来将其删除,基本语法如下:
5 数组的其他操作
5.1 复制数组
5.2 连接数组
在执行数组连接时,参与连接的数组之间要保留1个空格。
5.3 加载文件内容到数组
在Shell中,用户可以将普通的文本文件的内容直接加载到数组中,文件的每一行构成数组一个元素的内容。这在处理一些日志文件的时候非常有用。
猜你喜欢
- 2024-10-25 StringUtils字符串分割转数组(string字符串转化数组)
- 2024-10-25 Python的数组、元组、字符串(python 数组字符串)
- 2024-10-25 嵌入式开发-C语言-数组和字符串(c语言字符数组和字符串数组)
- 2024-10-25 c#入门教程(二)数据结构之数组(c# 数据结构)
- 2024-10-25 Java数组(java数组转成list)
- 2024-10-25 JavaScript数组方法以及字符串方法的多种功能
- 2024-10-25 面试官:如何用JavaScript实现字符串数组模糊搜索?
- 2024-10-25 C语言字符数组,与字符是什么关系?
- 2024-10-25 知识分享:C语言知识干货系列——数组篇
- 2024-10-25 C语言字符串详解(c语言中的字符串)
你 发表评论:
欢迎- 最近发表
-
- IT之家学院:使用PIN或密码审批管理员权限
- Yarn 安装的时候提示错误 error:0308010C:digital envelope routines
- Windows常用的一些CMD运行命令(windows常见的命令)
- 电脑忘记开机密码10秒解决(戴尔电脑忘记开机密码10秒解决)
- 如何下载Windows 10聚焦提供的锁屏壁纸
- Windows CMD 命令大全:简单粗暴收藏!
- 系统小技巧:解决CHKDSK只读模式问题
- Windows的cmd都有哪些奇技淫巧?这22个CMD命令记得收藏起来!
- windows错误代码0x80072EE2?win10系统更新错误问题的处理方法
- Windows 10技术预览版快捷键方式汇总
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)