shell脚本定义数组 Bash Shell脚本中的数组使用实例

11/28 01:14:48 来源网站:辅助卡盟网

shell脚本定义数组 Bash Shell脚本中的数组使用实例

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

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

shell脚本遍历数组_shell脚本定义数组_shell脚本和python脚本

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

shell脚本和python脚本_shell脚本遍历数组_shell脚本定义数组

4.获取数组的长度

可以使用$和#的特殊参数来获取数组的长度。${#arrayname[@]} 可以获取数组长度。

[root@localhost ~]# cat arraymain2.sh 
#! /bin/bash
declare -a Unix=('Debian' 'Red hat' 'Ubuntu' 'Suse' 'Fedora')
echo ${#Unix[@]} #数组中元素的数量

shell脚本遍历数组_shell脚本和python脚本_shell脚本定义数组

下面是输出,可以看到第一行输出参数为5个。第二行输出第一个元素的字符数量是6个。

[root@localhost ~]# ./arraymain2.sh 
5
6

shell脚本遍历数组_shell脚本和python脚本_shell脚本定义数组

5.数组中某个元素的长度

${#arrayname[n]} 给出数组中的n个元素的长度。

[root@localhost ~]# cat arraymain.sh 
#! /bin/bash
Unix[0]='Debian'
Unix[1]='Red hat'
Unix[2]='Ubuntu'
Unix[3]='Suse'
echo ${#Unix[3]} #位于索引3的元素的长度。

以下是输出shell脚本定义数组,可以看到输出index为3的值为"Suse"的字符长度是4。

[root@localhost ~]# ./arraymain.sh 
4

shell脚本定义数组_shell脚本遍历数组_shell脚本和python脚本

6.按数组的偏移量和长度提取

下面的示例显示了从名为Unix的数组中从索引位置3开始提取2个元素的方法。

[root@localhost ~]# cat arraymain.sh 
#! /bin/bash
Unix=('Debian' 'Red hat' 'Ubuntu' 'Suse' 'Fedora' 'UTS' 'OpenLinux')
echo ${Unix[@]:3:2}

    暂无相关资讯
shell脚本定义数组 Bash Shell脚本中的数组使用实例