首页 > 代码库 > while与unile
while与unile
当型循环和直到型循环语法
while 条件句
语法:
while 条件
do
指令...
done
until 条件句
语法:
until 条件
do
指令...
done
范例1:每隔2秒记录一次系统负载情况
#!/bin/bash while true do uptime sleep 2 done 执行结果: 16:28:15 up 7 days, 6:47, 2 users, load average: 0.06, 0.03, 0.00 16:28:17 up 7 days, 6:47, 2 users, load average: 0.06, 0.03, 0.00 16:28:19 up 7 days, 6:47, 2 users, load average: 0.06, 0.03, 0.00 16:28:21 up 7 days, 6:47, 2 users, load average: 0.05, 0.02, 0.00 提示:while true表示条件永远为真,因为会一直运行,像死循环一样,但是我们称呼为守护进程 sh while01.sh & #此执行是在后台执行
范例2:通过while语句计算从1加到100之和
法1 #!/bin/bash i=0 sum=0 while [ $i -le 100 ] do let sum=sum+i let i=i+1 done echo $sum 执行结果: [root@XCN while]# sh while2.sh 5050
法2 #!/bin/bash i=1 sum=0 while ((i < 101)) do ((sum=sum+i)) ((i++)) done echo $sum
思路:
+ i=0
+ sum=0
+ ‘[‘ 0 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 1 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 2 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 3 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 4 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 5 -le 5 ‘]‘
+ let sum=sum+i
+ let i=i+1
+ ‘[‘ 6 -le 5 ‘]‘
+ echo 15
15
范例3:利用while循环打印出10,9,8....1
#!/bin/bash i=10 while ((i>0)) do echo $i let i=i-1 done 执行结果: [root@XCN while]# sh while4.sh 10 9 8 7 6 5 4 3 2 1
范例4:手机充值10,每发一次短信(输出当前余额)话费1角5分钱,当余额低于1角5分钱不能发短信,提示余额不足,请充值;
解答:单位换算。统一单位,统一成整数
10元=1000分
#!/bin/bash sum=1000 i=15 while ((sum>=i)) do ((sum=sum-i)) echo "send message.$sum" done echo ",epmty is not enough:$sum" 执行结果: end message.325 send message.295 send message.265 send message.235 send message.205 send message.175 send message.145 send message.115 send message.85 send message.55 send message.25 ,epmty is not enough:10
本文出自 “小菜鸟” 博客,请务必保留此出处http://baishuchao.blog.51cto.com/12918589/1943253
while与unile
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。