数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。  

 

声明数组的方法:

    declare -a 数组名

 

给数组赋值的方法:

赋值方法一:

数组总结_数组

或者这样声明:

NAME=('Jerry Brown' Tom Wendy)

注意:(1)当用户名之间有空格时,需要用单引号或双引号;当用户名之间用变量时,需要使用双引号。(2)此时的数组索引是从0开始的整数。

 

赋值方法二:

数组总结_数组_02

上面声明数组时是自定义数组索引。

 

赋值方法三:

read -p NAME

 

为数组追加元素:

赋值方法一:

数组总结_数组_03

 

赋值方法二:

数组总结_数组_04

注意:这种赋值方法与赋值方法一相比:只能在数组最后元素之后添加新元素。

 

显示数组中元素:

显示数组中的全部元素:

编辑一个脚本test.sh,测试${NAME[@]}和${NAME[*]}的区别:

数组总结_数组_05

数组总结_数组_06

注意:

从上面的测试结果中可以看出:

    ${NAME[@]} 表示显示出来的每一个元素都是一个单独的元素

    ${NAME[*]} 表示显示出来的所有元素作为一个整体是一个元素

 

显示数组中指定的元素:

数组总结_数组_07

说明:

${NAME[@]:1} 表示显示NAME数组中索引大于1的元素

${NAME[@]:2} 表示显示NAME数组中索引大于2的元素

${NAME[@]:1:2} 表示显示NAME数组中索引大于1小于2的元素

${NAME[@]:2:4} 表示显示NAME数组中索引大于2小于4的元素

 

显示数组中元素的个数:

数组总结_数组_08

注意:

在显示数组中元素的个数时${#NAME[@]}和${#NAME[*]}的作用是一样的。