普通数组
关联数值
name =dav
echo ${name:1} // v 类似切片
echo ${name:1:1} // d
book =(math、language、music)
echo ${boo[1]} // math
echo ${book[*/@]} // 全部
echo ${#array1[@]} 查看数组个数
echo ${!array1[@]} 查看数组索引
declare -A name //关联数组必须申明
name=([wang]=wangqiang [li]=liming [zhang]=zhangfei)
echo ${name[@]}
//结果 wangqiang liming zhangfei
遍历数组
1、shucu.txt里面的内容 while 按照逐行读取
#!/usr/bin/bash
while read line
do
echo $line
hostsy[i++]=$line
done < /home/lmm/OneMore/scripts/shucu.txt
echo ${hostsy[*]} //内容
echo ${!hostsy[*]} //索引
~
https://blog.csdn.net/weixin_41092791/article/details/100525847
[root@localhost shell]# wc --help
用法:wc [选项]... [文件]...
或:wc [选项]... --files0-from=F
输出每个指定文件的行数、单词计数和字节数,如果指定了
多于一个文件,继续给出所有相关数据的总计。如果没有指定
文件,或者文件为"-",则从标准输入读取数据。
-c, --bytes 输出字节数统计
-m, --chars 输出字符数统计
-l, --lines 输出行数统计
--files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名
-L, --max-line-length 显示最长行的长度
-w, --words 显示单词计数
--help 显示此帮助信息并退出
--version 显示版本信息并退出
2.统计 /etc/passwd 的 shell 数量
1.通过数组元数的个数进⾏遍历(不推荐)
2.通过数组元数的索引进⾏遍历(推荐)
注意: 将统计的对象作为数组的索引, 仅针对关联数据
[root@Shell ~]# cat array_passwd_count.sh
#!/usr/bin/bash
declare -A array_passwd
#1.对数组进⾏赋值
while read line
do
type=$(echo $line|awk -F ':' '{print $NF}')
let array_passwd[$type]++
done </etc/passwd
#2.对数组进⾏遍历
for i in ${!array_passwd[@]}
do
echo 索引是:$i,索引的值是: ${array_passwd[$i]}
done
参考博文https://www.xuliangwei.com/