while循环语句
特点:条件为真就进入循环;条件为假就退出循环
1. while循环语法结构
while 表达式
do
command...
done
while [ 1 -eq 1 ] 或者 (( 1 > 2 ))
do
command
command
...
done
循环打印1-5数字
FOR循环打印:
for ((i=1;i<=5;i++))
do
echo $i
done
while循环打印:
i=1
while [ $i -le 5 ]
do
echo $i
let i++
done
应用案例
㈠ 脚本计算1-50偶数
#!/bin/bash
#定义变量
sum=0
i=2
#循环打印1-50的偶数和并且计算后重新赋值给sum
while [ $i -le 50 ]
do
let sum=sum+i
let i+=2
done
#打印sum的值
echo "1-50的偶数和为:$sum"
㈡ 脚本同步系统时间
① 具体需求
-
写一个脚本,30秒同步一次系统时间,时间同步服务器10.1.1.1
-
如果同步失败,则进行邮件报警,每次失败都报警
-
同步成功,也进行邮件通知,但是成功100次才通知一次
② 思路
-
每个30s同步一次时间,该脚本是一个死循环
-
同步失败发送邮件
-
同步成功100次发送邮件
③ 落地实现
#!/bin/bash
#定义变量
count=0
ntp_server=10.1.1.1
while true
do
rdate -s $ntp-server &>/dev/null
if [ $? -ne 0 ];then
echo "system date failed" |mail -s 'check system date' root@localhost
else
let count++
if [ $[$count%100] -eq 0 ];then
echo "system date successfull" |mail -s 'check system date' root@localhost && count=0
fi
fi
sleep 3
done