| 数组是一个包含多个值的变量,这些值可以是相同类型或不同类型。没有数组大小限制,也没有要求成员变量被连续索引或连续分配的限制。数组索引从0开始。 |
1.声明一个数组并赋值
在bash中,使用以下格式的变量时会自动创建数组:
name[index]=value
- name 是数组的名字。
- index 可以是任何数字或表达式,值必须等于或大于零。
要访问数组元素,请使用大括号,例如${name[index]}。下面是访问Unix数组中的第二个元素,以为数组索引从0开始,所以Unix[1]就是第二个元素了。
[root@localhost ~]# cat arraymanip.sh
#! /bin/bash
Unix[0]='Debian'
Unix[1]='Red hat'
Unix[2]='Ubuntu'
Unix[3]='Suse'
echo ${Unix[1]}
执行脚本,以下是输出内容:
[root@localhost ~]# ./arraymain.sh Red hat

2.在声明期间初始化数组
不必单独初始化数组的每个元素,可以通过使用括号指定元素列表(由空格分隔)来声明和初始化数组。下面是语法:
declare -a arrayname=(element1 element2 element3)
如果元素具有空格字符,需要使用引号:
[root@localhost ~]# cat arraymain2.sh
#! /bin/bash
declare -a Unix=('Debian' 'Red hat' 'Ubuntu' 'Suse' 'Fedora')
echo ${Unix[4]}
下面是输出结果:
[root@localhost ~]# ./arraymain2.sh Fedora

declare -a声明一个数组,括号中的所有元素都是数组的元素。
3.打印整个数组
有多种方法可以打印整个数组。如果索引号是 @ 或者 * ,则引用数组的所有成员。可以使用bash shell中的循环语句遍历数组元素并进行打印。
[root@localhost ~]# cat arraymain.sh
#! /bin/bash
Unix[0]='Debian'
Unix[1]='Red hat'
Unix[2]='Ubuntu'
Unix[3]='Suse'
echo ${Unix[@]}
下面是输出结果:
[root@localhost ~]# ./arraymain.sh Debian Red hat Ubuntu Suse

本文详细介绍了Bash Shell脚本中数组的使用,包括声明与赋值、初始化、打印数组、获取数组长度、元素长度、按偏移量和长度提取、搜索与替换、添加元素、删除元素、使用正则表达式删除、复制数组、数组关联、删除整个数组以及将文件内容加载到数组等操作。通过实例展示了各种操作方法。
最低0.47元/天 解锁文章
1757

被折叠的 条评论
为什么被折叠?



