一、介绍和语法

1. while循环方式

while循环语句会对紧跟在while命令后的条件表达式进行判断,如果该表达式成立,则执行while循环里面的命令或语句,每一次执行到done时,会重新判断while条件表达式是否成立,直到不成立时才会跳出while循环

如果一开始就不成立,那么程序不会进入循环体

2. while语法

while <条件表达式>
do
指令...
done

3. while循环小结

while循环的特长是执行守护进程,以及实现我们希望循环持续执行不退出的应用,以及频率小于1分钟的循环处理,其他的都可以被for和crontab替代

无线循环需要sleep和usleep来控制频率

二、范例

1. 守护进程

  • cat /server/scripts/b9.sh
#!/bin/bash
while true #条件永远为真,则会一直运行,成为守护进程
#while [ 1 ] #作用同上一句
do
uptime
sleep 2
done
  • sh /server/scripts/b9.sh

    13:37:22 up 3 days, 18:44, 1 user, load average: 0.00, 0.00, 0.00

    13:37:24 up 3 days, 18:44, 1 user, load average: 0.00, 0.00, 0.00

    13:37:26 up 3 days, 18:44, 1 user, load average: 0.00, 0.00, 0.00

    13:37:28 up 3 days, 18:44, 1 user, load average: 0.00, 0.00, 0.00

shell中的两个休息命令sleep 1,表示休息1秒,usleep 1000000,也表示休息1秒

2.倒叙打印5、4、3、2、1的方法

  • cat /server/scripts/b9.sh
#!/bin/bash
i=5
while [ $i -gt 0 ]
do
echo $i
((i--))
done
  • sh /server/scripts/b9.sh

    5

    4

    3

    2

    1

3.计算从1加到100之和

备注:(用1+2+3..+100的方法)

  • cat /server/scripts/b9.sh
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
((sum+=i))
((i++))
done
[ "$sum" -ne 0 ] && echo "sum is $sum"
  • sh /server/scripts/b9.sh

    sum is 5050

循环方式一个一个累加,数量多了就很慢,可以使用公司计算的方式sum=i*(i+1)/2

循环3-while语法的更多相关文章

  1. 3.2.1 for循环与while循环的基本语法

    不停地重复一件事情,时间久了会非常无聊,然后大脑就会由于疲劳而容易入睡. 重复性的劳动会使人疲劳,而计算机不会,只要代码写得正确,计算机就会孜孜不倦地重复工作.在Python中主要有两种形式的循环结构 ...

  2. 循环结构select 语法

  3. JavaScript 的循环语句语法摘要

     if条件语句语法: if(condition){ statements; } 理解:圆括号里的是条件参数  ,花括号里的为执行的语句. 示例代码:if(1>2){ alert("Th ...

  4. PHP(控制语句,随机数,循环语法)

     1.随机数:Math.random():0到1 不包括1 永远取不到2.控制语句if(){} for循环  语法 运行步骤(过程,原理)   1.初始化 2.判断条件 3.变量改变  index:下 ...

  5. python语法(三)— 循环

    上一篇,学习了python的判断语句,了解了python中如何直线分支语句,本文来学习循环语句.python中有两种循环while循环和for循环,当我们不知道循环次数时使用while循环,让我们知道 ...

  6. 语法,if,while循环,for循环

    目录 一.语法 二.while循环 三.for循环 一.语法 if: if判断其实是在模拟人做判断.就是说如果这样干什么,如果那样干什么.对于ATM系统而言,则需要判断你的账号密码的正确性. if 条 ...

  7. IT兄弟连 Java语法教程 流程控制语句 循环结构语句1

    循环语句可以在满足循环条件的情况下,反复执行某一点代码,这段被重复执行的代码被称为循环体,当反复执行这个循环体时,需要在合适的时候把循环条件该为假,从而结束循环,否则循环将一直执行下去,形成死循环.循 ...

  8. Python语法基础03(if语句,while循环与for循环)

    if语句:语法:单分支if 判断条件:语句块 执行过程:首先执行判断条件,当条件成立则执行判断条件下面的语句块,若条件不成立,则不执行 双分支if 判断条件:语句块1else:语句块2执行过程: 首先 ...

  9. 【python基础语法】运算符&if条件语句&while循环&for循环(第5天课堂笔记)

    """ if语法规则: if 条件比较语句1: # 条件成立的时候 会执行的代码 elif 条件比较语句2: # 条件2成立的时候 会执行的代码 else: # 条件不成 ...

  10. java基础3_循环语句,数组

    java中的循环: Java中提供了3中循环结构:  while  do-while  for ① 循环结构的作用? 可以不断重复执行循环结构中的代码: ② 上面的3个循环结构功能都是一样的,只是结构 ...

随机推荐

  1. shell脚本:报错syntax error near unexpected token `$'\r''解决方法

    之前的shell脚本是在服务器上编写的,后来又已复制的方式存在在了电脑上,以txt文件的形式存放的.于是复制到了编辑工具中,进行了相应项的修改.修改完毕后,拿到服务器上测试,结果执行sh XXX.sh ...

  2. 【c#】csharp_learn

    csharp learn JSON C#解析JSON字符串总结 https://www.cnblogs.com/nc923/p/11418583.html c#解析json字符串处理(最清晰易懂的方法 ...

  3. react框架-知识点(ref,, setState)

    react的思想:无必要勿增实体 1. ref 使用 myRef = React.createRef() <input ref={this.myRef}></input> 2. ...

  4. 生产中遇到的spark任务问题

    spark版本 2.2.0 日志里面的信息: WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will no ...

  5. VS Code编写stm32

    说明 virtual code实现编辑功能,其有强大的代码提示.代码阅读功能. 通过bat文件,通过cmd编译.下载,具体下载器设置仍需在keil软件中设置 具体代码调试仍需在keil软件下 项目配置 ...

  6. Linux内核红黑树2—移植笔记

    转自:https://www.cnblogs.com/hellokitty2/p/15362596.html 另外可参考:https://zhuanlan.zhihu.com/p/26599934 一 ...

  7. ubuntu22.04安装 kubernetes(docker)

    初始化检查 操作系统:ubuntu22.04 LTS docker:20.10.18 kubelet: v1.23.6 kubeadm:v1.23.6 kubectl: v1.23.6 1.校准时间: ...

  8. Systrace学习记录

    「置顶」Android 性能优化必知必会[大量文章] https://androidperformance.com/2018/05/07/Android-performance-optimizatio ...

  9. Mysql数据库的表结构

    [INFORMATION_SCHEMA 数据库] 是MySQL自带的,它提供了访问数据库 元数据 的方式, 元数据:数据库名或表名,列的数据类型,或访问权限等. 在MySQL中,把[INFORMATI ...

  10. vim 转换大小写

    只转化某个单词 guw .gue gUw.gUe 这样,光标后面的单词便会进行大小写转换 想转换5个单词的命令如下: gu5w.gu5e gU5w.gU5e 转换几行的大小写 4.转换几行的大小写 将 ...