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
本文介绍了Shell编程中的while循环语句,详细阐述了其特点和基本语法结构。通过两个应用案例展示了while循环的实际运用,包括计算1-50的偶数和周期性同步系统时间。在同步时间的案例中,脚本每30秒执行一次,若同步失败则发送邮件报警,连续成功100次才会发送一次成功的邮件通知。
5618

被折叠的 条评论
为什么被折叠?



