shell(七)数组

简介: 数组可以存储多个数据,这个东西是很重要的,其他一些高级语言类似PHP、javascript等语言都是支持多维数组的。Shell编程只支持一维数组。Shell编程的数组和PHP的数组类似,声明的时候不需要指定大小。也可以使用下标来访问数组中的元素。Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

数组可以存储多个数据,这个东西是很重要的,其他一些高级语言类似PHP、javascript等语言都是支持多维数组的。Shell编程只支持一维数组。

Shell编程的数组和PHP的数组类似,声明的时候不需要指定大小。也可以使用下标来访问数组中的元素。

Shell 数组用括号来表示,元素用"空格"符号分割开,语法格式如下:

ini

复制代码

array_name=(value1 value2 ... valuen)

一:数组的基本使用

这里我们来测试一下:

ini

复制代码

# 声明一个数组
[root@VM_0_4_centos test]# arr=(1 2 3 4 5)
# 这样通过下标访问数组是不对的
[root@VM_0_4_centos test]# echo arr[0]
arr[0]
# 这样访问数组中的元素才是对的。
[root@VM_0_4_centos test]# echo ${arr[0]}
1
[root@VM_0_4_centos test]# echo ${arr[1]}
2
[root@VM_0_4_centos test]# echo ${arr[2]}
3
[root@VM_0_4_centos test]# echo ${arr[3]}
4

二:关联数组

这个名词让人有点摸不着头脑,什么是关联数组呢?很简单,就是下标不是012的数组,就是关联数组。

这……在其他语言中,直接定义就行了呀,shell编程还整出这么一个名词,真行。

关联数组使用 declare 命令来声明,语法格式如下:

bash

复制代码

declare -A array_name

下面我们来测试一下:

css

复制代码

[root@VM_0_4_centos test]# declare -A array;
array['shi']=时;
array['jian']=间;
array['li']=里;
array['de']=的;
[root@VM_0_4_centos test]# echo ${array[shi]}
[root@VM_0_4_centos test]# echo ${array[jian]}
[root@VM_0_4_centos test]# echo ${array[li]}
[root@VM_0_4_centos test]# echo ${array[de]}

 

这个位置除了概念比较新之外,剩下的跟上边没啥区别。

三:获取数组中的所有元素

使用 @ 或 * 可以获取数组中的所有元素

测试一下:

这里使用的还是上方关联数组定义的数组:

bash

复制代码

[root@VM_0_4_centos test]# echo ${array[*]}
的 时 里 间
[root@VM_0_4_centos test]# echo ${array[@]}
的 时 里 间

四:获取数组中所有的键

在数组前加一个感叹号 ! 可以获取数组的所有键,例如:

这里使用的还是上方关联数组定义的数组:

css

复制代码

[root@VM_0_4_centos test]# echo ${!array[@]}
de shi li jian
[root@VM_0_4_centos test]# echo ${!array[*]}
de shi li jian

五:获取数组的长度

获取数组长度的方法与获取字符串长度的方法相同,例如:

这里使用的还是上方关联数组定义的数组:

less

复制代码

[root@VM_0_4_centos test]# echo ${#array[@]}
4
[root@VM_0_4_centos test]# echo ${#array[*]}
4

 

以上大概就是shell编程中数组的基本使用。

有好的建议,请在下方输入你的评论。

目录
相关文章
|
6月前
|
Shell 索引
shell脚本入门到实战(四)- 数组
shell脚本入门到实战(四)- 数组
|
Shell 索引
shell编程之数组
shell编程之数组
72 0
|
23天前
|
存储 Shell
Shell 数组
【10月更文挑战第16天】
27 3
|
27天前
|
Shell PHP 索引
Shell 数组
10月更文挑战第2天
21 1
|
3月前
|
Shell KVM 虚拟化
Shell 数组编程
【8月更文挑战第22天】 Shell 数组编程
48 10
|
6月前
|
存储 算法 安全
shell 脚本之 函数与数组
shell 脚本之 函数与数组
|
5月前
|
存储 Shell 开发者
Shell 数组:灵活操作的秘诀
**Shell 数组简介**:作为基础数据结构,数组在Shell编程中不可或缺。它们存储多个值,下标从0开始。创建如`array=(值1 值2...)`,访问用`${array[index]}`。增删改查及获取长度、拼接数组都有相应语法,例如`unset array[index]`删除元素,`${#array[@]}`获取长度。通过实践这些操作,提升Shell脚本技能。
41 0
|
5月前
|
Shell Linux
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
linux shell 脚本实现:根据文件内容中的每行分隔符放入数组,根据规则打印日志并重新创建目录 备份文件
48 0
|
5月前
|
Shell Linux
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
linux shell脚本字符串 字段分隔符 存入数组 根据下标取值
65 0
|
6月前
|
运维 Shell Python
第五章 Shell函数与数组
第五章 Shell函数与数组