shell循环--while和until

1. 语法结构

条件为真的就进入循环,为假就退出循环

while 表达式
do 
  command
done

while [ 1 -eq 1 ] huo (( 1>2 ))
do 
 command
done

1.1 打印1-5

i=1
while  [ $i -le 5 ]
do 
  echo $i
  let i++
done

1.2 利用while计算1-50的偶数和

#!/bin/bash 

sum=0
i=2
while  [ $i -le 50  ]
do
  let sum=sum+i
  let i+=2
done

echo "1-50的和为:$sum"

2. 应用案例

写一个30秒同步一次时间,向同步服务器10.1.1.250的脚本,如果同步失败,则进行邮件报警,每次失败都报警;同步成功,也进行邮件通知,但是成功100次才通知一次。

#!/bin/bash
#定义变量
count=0
ntp_server=10.1.1.250
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

以上脚本还有更多的写法,课后自己完成

3. until循环

3.1 语法结构

条件为假进入循环,条件为真就退出循环

until expression [ 1 -eq 1 ]
do 
 command
done
i=1
until [ $i -gt 5 ]
do
	echo $i
	let i++
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长安有故里y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值