#!/bin/bash
array=(curl is powered by libcurl for all transfer-related features)
#1.使用for循环,提示:-L是统计长度,-l是列出行数
for i in ${array[@]}
if [ `echo $i | wc -L` -lt 5 ];then
echo $i
说明:首先使用for循环遍历出所有单词,然后使用wc -L进行统计,打印单词小于5的
#2.使用expr计算长度
for i in ${array[@]}
if [ `expr length $i` -lt 5 ];then
echo $i
#3.使用c语言的for循环
for ((i=0;i<${#array[*]};i++))
if [ ${#array[$i]} -lt 5 ];then
echo ${array[$i]}
#执行效果
[root@game scripts]# sh array.sh
all
#使用案例
批量检查多个网站地址是否正常,如果不正常发邮件通知运维人员
#脚本书写
[root@game test]# cat chweb.sh
#!/bin/bash
DATE=$(date "+%F +%H:%M")
MAIL=guoke@qq.com
array=(
https://www.baidu.com
https://www.guoke.comff
https://www.baudd.comff
while ((1==1))
for i in ${array[@]} #使用for循环网站
wget --timeout=5 --tries=1 $i -q -O /dev/null #进行访问
if [ $? -ne 0 ];then #判断返回值,如果不等于0,就是访问失败,发邮件给运维
content="$i access fail"
echo "date:$DATE" | mail -s "$content" $MAIL
exit 1 #检查完退出脚本
#配置邮件报警需要安装mailx
[root@game ~]# yum install mailx
[root@game ~]# cat /etc/mail.rc
set from=guoke@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=guoke@qq.com
set smtp-auth-password=doqimyktjmjphgcc
#要注意这个密码是在邮件设置那里获得的,而不是你的邮箱密码
set smtp-auth=login