- 变量一次只能存一个值,数组一次可以存多个。
- 基本数组:数组可以让用户一次赋予多个值,需要读取数据时只需要通过索引调用就可以方便读出了。
- 关联数组:可以自定义数组的索引,这样使用起来更加方便高效。(必须声明)
基本数组
数组名称=(元素1 元素2 元素2 ……) #多个值使用空格隔开
echo ${数组名称[索引]} #索引默认是元素在数组中的排队编号,默认第一个从0开始
Flag0[0]='tom'
Flag0[1]='bob' #一次赋一个值
Flag1=(tom jack alice) #一次赋多个值
Flag2=(`cat /etc/passed`) #将该文件中的每一个行为作为一个元素赋值给数组Flag2
Flag3=(`ls /var/ftp/Shell/for`)
演示 | 解释 |
---|---|
echo ${Flag1[0]} | 访问数组中的第一个元素,1是第二个 |
echo ${Flag1[@]} | 访问数组中所有元素,等同意echo ${Flag1[*]} |
echo ${#Flag1[@]} | 统计数组元素的个数 |
echo ${!Flag1[@]} | 获取数组元素的索引 |
echo ${Flag1[@]:2} | 从数组下标2开始 |
echo ${Flag1[@]:2:3} | 从数组下标2开始,访问3个元素(对应2、3、4) |
查看终端下的数组使用 declare -a 命令
关联数组
declare -A ass_Flag1 #声明一个关联数组
#ass_Flag1[index1]=pear
#ass_FLag1[index2]=applo #一次赋一个值
#ass_Flag2([index1]=tom [index2]=jack) #一次赋多个值
终端声明查看数组declare -A
演示 | 解释 |
---|---|
echo ${ass_Flag2[index2]} | 访问数组中的第二个元素 |
echo ${ass_Flag2[@]} | 访问数组中所有元素,等同于 echo ${Flag1[*]} |
echo ${#ass_Flag2[@]} | 获得数组元数的个数 |
echo ${!ass_Flag2[@]} | 获得数组元素的索引 |
#遍历数组:通过数组元素的索引进行遍历,针对关联数组可以通过数组元素的索引进行遍历。
echo ${Flag0[0]}
echo ${ass_Flag2[index1]}