欢迎,来自IP地址为:18.97.14.80 的朋友
本节,将学习在 Bash 脚本中使用数组。尝试如何向数组中添加元素、删除元素以及如何获得数组长度。
数组可以保存一些数值,同时处理一组数据在某些时候对于解决问题会更加高效,并且不需要将不同的数值分别保存到不同的变量中。
例如有一组 Linux 发行版数值”Ubuntu”、”Fedora”、”SUSE”、”Arch Linux”以及”CentOS”,就可以通过如下方式初始化为一个数组:
# distros=(Ubuntu Fedora SUSE "Arch Linux" CentOS)
与其它编程语言不同,Bash 数组不需要使用逗号”,”来间隔元素。
现在我们来学习如何访问数组中的元素。
访问数组中元素
数组中的元素,同样可以使用元素的序号来访问。访问形式如下:
${array_name[N]}
PS:与大多数的编程语言一样,数组的序号都是从 0 开始,这意味着数组的第一个元素序号为 0,第二个元素为 1,以此类推,第 n 元素的序号为 n-1。
所以,如果想得到”SUSE”值,则可以通过如下形式访问:
echo ${distros[2]}
注意:访问数组中的元素,中间不允许出现空格,否则会报错不能访问。
一次性获得数组全部元素
如果想一次性打印数组中的所有元素,当然可以把数组中的元素单独打印出来,当然也可以使用如下方式快速访问:
${array[*]}
这样,就可以一次性把数组元素全部访问一遍:
获取数组长度
想要获取数组的长度(元素个数),Bash 可以使用如下方法:
${#array_name[@]}
是不是比较简单呢:
bash 向数组中增加元素
如果想要向数组中添加元素,可以使用”+=”操作符来为数组扩展元素。示例如下:
array_name+=("new_value")
下面是增加元素的示例:
注意,增加元素时,无率元素是否包含空格,都必须用括号”()”括起来。
当然,我们也可以为增加的元素指定序号,例如:
array_name[N]=new_value
注意,使用序号要十分小心,如果指定的序号已经使用,则会用新的值替换原数组中的数值。
如果指定的序号并非数组最后元素序号加1,而是较它大的多,系统也不会出错,而是会自动在数组最后增加元素,数组长度为实际长度,并不会增加空元素。
删除数组中的元素
想要删除数组中的元素,使用”unset”命令即可。格式如下:
unset array_name[N]
示例演示如下:
如果想清空数组,则只需要使用”unset”数组名即可:
unset array_name
Bash 脚本并未强制要求数组中的数据类型完全一致,所以我们定义的数组既可以包含整数,同时也可以包含字符串。
接下来,我们将学习如何处理字符串 >>Bash 基础(六):字符串操作<<
One thought on “Bash 基础(五):Bash 使用数组”