shell数组
数组
普通数组:只能使用整数作为数组索引
关联数组:可以使用字符串作为数组索引
普通数组
定义数组:books=(linux shell awk epenstack docker)
使用数组:${books[2]}
关联数组
申明关联数组变量:declare -A ass_array1
定义数组:info=([name]=zhangk [sex]=male [age]=23 [height]=120 [skill]=shell)
[root@localhost ~]# declare -A sex #定义关联数组sex
[root@localhost ~]# sex=([m]=1) #关联数组增加一个元素
[root@localhost ~]# echo ${sex[@]}
1
[root@localhost ~]# echo ${!sex[@]}
m
[root@localhost ~]# sex+=([f]=1) #关联数组增加一个元素
[root@localhost ~]# echo ${sex[@]}
1 1
[root@localhost ~]# echo ${!sex[@]}
f m
[root@localhost ~]# let sex[m]++ #关联数组m元素值增加1
[root@localhost ~]# echo ${sex[@]}
1 2
实例:
#!/bin/bash #使用关联数组统计性别人数 declare -A sex while read line do type=`echo $line | awk '{print $2}'` let sex[$type]++ done<sex.txt for i in ${!sex[@]} do echo "$i have ${sex[$i]}" done
本文来自博客园,作者:zk01,转载请注明原文链接:https://www.cnblogs.com/zhangxiaokui/p/13019317.html