在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
不必单独初始化数组的每个元素,可以通过使用括号指定元素列表(由空格分隔)来声明和初始化数组。下面是语法:
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