shell 数组简介
- 数组成员不必一定要连贯或连续的
- 数组的一部分成员允许不被初始化.
- 数组中空缺元素是允许的.
- 保存着稀疏数据的数组(“稀疏数组” )在电子表格处理软件中非常有用
访问数组
要访问一个数组元素,可以使用花括号来访问,即 variable[xx] {数组名[下标]}
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
取得数组元素的个数
length=${#array_name[@]}
或者
length=${#array_name[*]}
取得数组单个元素的长度
lengthn=${#array_name[n]}
数组实验
[root@hadoop-slave1 shell]# array_name=(name1 name2
name3 name4)
[root@hadoop-slave1 shell]# echo $array_name
name1
[root@hadoop-slave1 shell]# echo $array_name(*)
-bash: syntax error near unexpected token `('
[root@hadoop-slave1 shell]# echo $array_name(@)
-bash: syntax error near unexpected token `('
[root@hadoop-slave1 shell]# echo ${array_name}(@)
-bash: syntax error near unexpected token `('
[root@hadoop-slave1 shell]# echo ${array_name[*]}
name1 name2 name3 name4
[root@hadoop-slave1 shell]# echo ${array_name[@]}
name1 name2 name3 name4
[root@hadoop-slave1 shell]# echo ${array_name[n]}
name1
[root@hadoop-slave1 shell]# echo ${array_name[0]}
name1
[root@hadoop-slave1 shell]# echo ${array_name[2]}
name3
[root@hadoop-slave1 shell]# echo ${array_name[1]}
name2
[root@hadoop-slave1 shell]# echo ${array_name[4]}
${array_name[4]}这个不存在的,因为下标从0开始