0.什么是数组
数组可以让用户一次赋予多个值,需要读取数据时只需通过索引调用就可以方便读出了。
shell中的数组分两种: 普通数组 和 关联数组。
1.普通数组
数组名称=(元素1 元素2 元素3 …)
①数组赋值方式
一次附一个值
变量名=变量值
array[0]=v1 array[1]=v2 array[3]=v3
一次附多个值
array=(var1 var2 var3 var4) array1=(`cat /etc/passwd`) //将文件中每一行赋值给array1数组 array2=(`ls /root`) array3=(harry amy jack "Miss zhang") array4=(1 2 3 4 "hello world" [10]=linux)
②数组取值
${array[i]} i表示元素的索引 使用@ 或 * 可以获取数组中的所有元素: 获取第一个元素 echo ${array[0]} echo ${array[*]} 或 echo ${array4[@]} 获取数组里的所有元素 echo ${#array[*]} 获取数组里所有元素个数 echo ${!array[@]} 获取数组元素的索引索引 echo ${array[@]:1:2} 访问指定的元素;1代表从索引为1的元素开始获取;2代表获取后面几个元素
2.关联数组语法
一次赋一个值
declare -A ass_array1 ass_array1[name]='basism' ass_array1[age]=18
declare -A ass_array1 ass_array1[name]='basism' ass_array1[age]=18
一次附多个值
declare -A ass_array2 ass_array2=([name]='ayitula' [age]=20)
查看关联数组
关联数组取值
[root@localhost~]# echo ${asso_array1[linux]} one
3.普通数组和关联数据的区别
普通数据的索引是数字: 0,1,2…
关联数组的索引是自定义的(自我感觉:好像map啊)
完