当型和直到型循环语法


1、while 条件句
语法:
while 条件
do
指令...
done

while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环。

2、until 条件句
语法:
until 条件
do
指令...
done
提示:until 应用场合不多见,了解就好。
范例 1:每隔 2 秒记录一次系统负载情况
方法一:屏幕输出
[root@localhost ~]# cat while-1.sh
#!/bin/sh
while true
do
uptime
sleep 2
done
提示:while true 表示条件永远为真,因此会一直运行,像死循环一样, 但是我们称呼为守护进程。
补充:nohup 用法:后台运行程序。
[root@localhost ~]# nohup ~/while-1-1.sh &
[4] 84194
[root@localhost ~]# nohup: 忽略输入并把输出追加到"nohup.out"

Shell while 循环的用法如下:

while condition
dostatements
done

condition表示判断条件,statements表示要执行的语句(可以只有一条,也可以有多条),dodone都是 Shell 中的关键字。

while 循环的执行流程为:

  • 先对 condition 进行判断,如果该条件成立,就进入循环,执行 while 循环体中的语句,也就是 do 和 done 之间的语句。这样就完成了一次循环。
  • 每一次执行到 done 的时候都会重新判断 condition 是否成立,如果成立,就进入下一次循环,继续执行 do 和 done 之间的语句,如果不成立,就结束整个 while 循环,执行 done 后面的其它 Shell 代码。
  • 如果一开始 condition 就不成立,那么程序就不会进入循环体,do 和 done 之间的语句就没有执行的机会。

注意,在 while 循环体中必须有相应的语句使得 condition 越来越趋近于“不成立”,只有这样才能最终退出循环,否则 while 就成了死循环,会一直执行下去,永无休止。

while 语句和 if else 语句中的 condition 用法都是一样的,你可以使用 test 或 [] 命令,也可以使用 (()) 或 [[]]

while 循环举例


【实例1】计算从 1 加到 100 的和。

#!/bin/bashi=1
sum=0while ((i <= 100))
do
((sum += i))
((i++))
done
echo "The sum is: $sum"

运行结果:
The sum is: 5050

在 while 循环中,只要判断条件成立,循环就会执行。对于这段代码,只要变量 i 的值小于等于 100,循环就会继续。每次循环给变量 sum 加上变量 i 的值,然后再给变量 i 加 1,直到变量 i 的值大于 100,循环才会停止。

i++语句使得 i 的值逐步增大,让判断条件越来越趋近于“不成立”,最终退出循环。

Shell while语句相关推荐

  1. Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程

    本文是Linux Shell脚本系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之 后,分支语句非常实用,基本上高级语言都支持分支语句(pytho ...

  2. Linux Shell脚本语句执行失败,后续语句继续执行的问题

    Linux Shell脚本语句执行失败,后续语句继续执行的问题 问题 解决方法 问题 写了一个自动部署java后端的脚本,大致如下: A=password read -p "请输入密码:&q ...

  3. Shell循环语句(for循环;while循环;until循环)及中断(break和continue)

    Shell循环语句 for循环语句 例题1:批量添加用户 例题2:根据IP地址检查主机状态 while循环语句 例题1 猜价格游戏 例题二:批量添加用户 until循环语句 例题:计算1~50的值 中 ...

  4. shell条件语句及循环语句

    if 语句的结构 在 Shell 脚本应用中,if 语句是最为常用的一种流程控制方式,用来根据特定的条件测试结果,分别执行不同的操作(如果--那么--).根据不同的复杂程度,if 语句的选择结构可以分 ...

  5. linux shell 循环语句 for while until

    for/do/done Shell脚本的for循环结构和C语言很不一样,它类似于某些编程语言的foreach循环.例如: #! /bin/shfor FRUIT in apple banana pea ...

  6. linux shell编程语句if、case.

    shell学习笔记--if,case shell的控制流结构主要有if语句.for语句.case语句.while语句.until语句这五种,在shell中这些语句的用法有点类似C语言,很容易学会,但也 ...

  7. linux shell if语句使用方法

    原文地址:http://blog.chinaunix.net/uid-24607609-id-2118151.html 最精简的 if 命令的语法是: if TEST-COMMANDS; then C ...

  8. Shell 脚本知识回顾 (四) —— Shell 命令及Shell 相关语句

    一.Shell echo命令 echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制. 显示转义字符 echo & ...

  9. linux脚本语句,LINUX shell 脚本语句

    LINUX中shell脚本中语句的基本用法 一.if ...then...fi if [  条件判断一 ] && (||) [ 条件判断二 ]; then                ...

  10. if shell 条件语句简写_shell中的if语句

    1.基本语法: if[ command ]; then 符合该条件执行的语句 fi 2.扩展语法: if[ command ];then 符合该条件执行的语句elif[ command ];then ...

最新文章

  1. Intent四个重要属性
  2. python程序员需要掌握哪些技术-高级的python 后端程序员, 应该掌握哪些技能点 ?...
  3. java 大整数编程_Java编程--RSA算法中的大整数运算
  4. es 安装kopf_Elasticsearch-kopf导览
  5. 群晖ffmpeg_群晖Video station支持DTS和EAC3
  6. 直播预告丨Oracle DataGuard 备份恢复最佳实践
  7. 巴菲特将退休并把公司交给网红接管?被一封信恶搞...
  8. c++ 随机字符串_第3章 别碰白块(《C和C++游戏趣味编程》配套教学视频)
  9. Android的jsoup方法,在Android中使用Jsoup
  10. 尽点力,虽然也不一定有用
  11. SaveRasterFile failed: IDLnaMetadata Error:naGetMetadata-GetMetadataJob failed
  12. 简单、易用的光盘封装工具-MKISO纪念版(V1.0.2.0)发布日志
  13. javah生成java头文件
  14. chrome快速进入扩展页
  15. Book04--修改软件的艺术:构建易维护代码的9条最佳实践
  16. 腾讯云轻量应用服务器地域节点北京、上海和广州选择攻略
  17. CSS3 高级教程之动画定义和使用
  18. 物联网大赛 - Android学习笔记(三)Android 事件处理
  19. 2022年江苏省职业院校技能大赛网络搭建与应用赛项中职样卷
  20. 【算法】skiplist——调表,一种随机化的类平衡二叉树

热门文章

  1. 基于Android的图书馆借阅占座座位app-计算机毕业设计
  2. 结构体变量和结构体指针的区别,
  3. 通用分页 (基于jquery、bootstrap)
  4. 【Oracle 数据库】奶妈式教程 day13 日期函数
  5. 安装ACR122U后Proxmark3无法使用
  6. rap2使用姿势——前端、后端、测试必看(多gif图)
  7. 明华读卡器 java_Java调用明华RF读写器DLL文件过程解析
  8. Python地理数据分析常识
  9. Numpy 函数 (一) squeeze(), unsquezze()
  10. 免费分享SPSS 17.0 软件