shell脚本——循环语句
Posted 袁❈晔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本——循环语句相关的知识,希望对你有一定的参考价值。
循环语句
- for
- while
- until
for语句:
格式:
实例:
打印1~5:
seq:序列号打印
输出文件中内容:
输出1~100能被2整除的数:
上面50个数再求和:
批量创建用户stu[1..10]:
ping一个网段:
矩形*:
直角三角形*:
while语句:
格式:
两种死循环;
1.while:
do
命令。。。
done
2.while true
do
命令。。。
done
3种退出:break\\continue\\exit(退出脚本)
循环输出1~5:
求1~100的和:
偶数和:
猜数字:
until语句:
与while相反
实例:
1~100求和:
练习:
1、99乘法表
2、打印出三个数1,2,3的所有三位数的组合
3、每2秒跟ntp服务器同步一下系统时间,同步失败立即给管理员发邮件,同步成功每2次才给管理员发一次邮件
#!/bin/bash
grep "793085224" /etc/mail.rc &>/dev/null
if [ $? != 0 ];then
yum -y install mailx
echo -e -n "set bsdcompat \\n set from=793085224@qq.com \\n set smtp=smtp.qq.com \\n set smtp-auth-user=793085224@qq.com \\n set smtp-auth-password=dhleyzcaiuuibbbb \\n set smtp-auth=login " >> /etc/mail.rc
fi
ntpnum=1
while true
do
echo "第$ntpnum次 正在尝试同步时间服务器"[[[
ntpdate 192.168.0.20 &>/dev/null
if [ $? = 0 ];then
echo "同步成功!!"
else
echo "同步失败"
if [ $((ntpnum%2)) -eq 0 ];then
echo "已连续2次同步失败,正在通过邮箱告知管理员,邮件发送中。。。。。。。"
echo "Ip:192.168.1.21 error:无法同步时间,请检查你的服务器" | mail -s " title" 18332288915@139.com
echo "邮件发送完成"
fi
let ntpnum++
fi
done
以上是关于shell脚本——循环语句的主要内容,如果未能解决你的问题,请参考以下文章
Shell脚本------循环语句(for,while,until循环语句)