本文是Linux Shell脚本系列教程的第(十二)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程

在上两篇文章Linux Shell系列教程之(十)Shell for循环和Linux Shell系列教程之(十一)Shell while循环中,我们已经对Shell 循环语句的for循环和while循环进行了详细介绍,本篇给大家介绍下Shell 中的最后一种循环语句:Shell until循环。

Shell until循环的介绍

Shell until循环和while循环差不多,区别在于while的条件测试是测真值,until循环则是测假值。

也就是说,在while循环中,如果条件测试结果为真(传回值为0),就进入循环;在until循环中,如果条件测试结果为真(传回值为0),就跳出循环,如果测试结果为假(传回值不为0),则继续循环。

Shell until循环语法

Shell until循环的语法如下:

until command
doStatement(s) to be executed until command is true
done

command 为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。

Shell until循环使用举例

还是老规矩,通过例子来深入了解下Shell until循环。

例子1:

#!/bin/bash
a=0
until [ ! $a -lt 10 ]
doecho $aa=`expr $a + 1`
done

说明:当【a不小于10】这个条件为假时,会在循环体内循环执行命令,也就是说,当a大于等于10时,才会跳出循环体。

这个脚本会输出0-9数字。

输出:

0

1

2

3

4

5

6

7

8

9

例子2:

#!/bin/bash
declare -i i=10
declare -i sum=0
until ((i>10))
dolet sum+=ilet ++i
done
echo $sum

说明:这个例子跟上篇文章中的例子很相似,但结果却不一样,具体的分析就留给读者自己思考吧,想知道答案可以关注Linux大学公众号(微信号:Linuxdaxue),然后发送【Shell until循环】来获取答案,或者自己动手跑一跑例子啦。

关于Shell until循环的内容今天就先为大家介绍到这里,更多Linux Shell教程请看:Linux Shell脚本系列教程

原文:Linux Shell系列教程之(十二)Shell until循环

上一篇:Linux Shell脚本入门教程系列之(十一)Shell while循环

下一篇:Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程

本文转自:Linux Shell脚本入门教程系列之(十二)Shell until循环

Linux Shell脚本入门教程系列之(十二)Shell until循环相关推荐

  1. Linux Shell脚本入门教程系列之(二)第一个shell脚本

    本文是Linux Shell脚本系列教程的第(二)篇,更多shell教程请看:Linux Shell脚本系列教程 通过上一篇教程的学习,相信大家已经能够对shell建立起一个大体的印象了,接下来,我们 ...

  2. Linux Shell脚本入门教程系列之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

  3. Linux Shell脚本入门教程系列之(十五) Shell函数简介

    本文是Linux Shell脚本系列教程的第(十五)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之后,函数可以将一个复杂功能划分成若干模块,从而使程序结构更加清晰 ...

  4. Linux Shell脚本入门教程系列之(十四) Shell Select教程

    本文是Linux Shell脚本系列教程的第(十四)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上一篇文章:Linux Shell系列教程之(十三)Shell分支语句 ...

  5. Linux Shell脚本入门教程系列之(十)Shell for循环

    本文是Linux Shell脚本系列教程的第(十)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 基本任何语言都有自己的循环语句,Shell当然也不例外,继上一篇之后,今天 ...

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

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

  7. Linux Shell脚本入门教程系列之(十一)Shell while循环

    本文是Linux Shell脚本系列教程的第(十一)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 在上一篇Linux Shell系列教程之(十)Shell for循环中, ...

  8. Linux Shell脚本入门教程系列之(九)Shell判断 if else 用法

    本文是Linux Shell脚本系列教程的第(九)篇,更多shell教程请看:Linux Shell脚本系列教程 判断语句是每个语言都必不可少的关键语法,Shell命令当然也不例外.继上一篇之后,今天 ...

  9. Linux Shell脚本入门教程系列之(八)Shell printf命令详解

    本文是Linux Shell脚本系列教程的第(八)篇,更多shell教程请看:Linux Shell脚本系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对She ...

最新文章

  1. 【透明版九宫格背景图片】仅依靠background的几个属性组合搭配出酷炫的透明背景卡片效果→适用于大数据可视化、数据大屏展示页面
  2. python装饰器函数-Python精进-装饰器与函数对象
  3. 使用JFreeChart绘制散点图
  4. php处理小程序上传图片,微信小程序上传图片,PHP-Laravel框架实现
  5. 成功解决ValueError: not enough values to unpack (expected 2, got 1)
  6. asp.net core webApi 参数保护
  7. Spring web应用最大的败笔
  8. kali linux工具pyrit,在Kali Linux上安装cuda、pyritcuda以及optimus -电脑资料
  9. WebSocket使用javax.websocket.RemoteEndpoint.Basic.sendObject(Object arg0)向页面方法发送对象
  10. Capital Asset Pricing Model (CAPM)
  11. .NET精品文章系列(一)
  12. 锋利的jquery(认识jquery)
  13. oCPC实践录 | 成本优化策略之eCPC(3)
  14. [修練營ASP.NET]淺談多層式架構 (Multi Tiers)
  15. 基于OpenCV双边滤波器的人脸美化 .
  16. IDEA如何创建XML文件并用浏览器打开
  17. 计算机视觉-图像的SIFT特征(尺度空间)
  18. unity is checking your license authorization - stay tuned
  19. 任正非蜕变,华为新生
  20. VScode 写完C程序无法调试运行

热门文章

  1. 装箱问题(信息学奥赛一本通-T1295)
  2. linux 禁用日志,清除linux系统日志,禁用linux系统日志,删除linux日志
  3. php 输出时间差,php输出时间差
  4. miniui单元格点击弹框_miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题...
  5. python numpy数组中冒号 : 的使用--全局选择、表示区间
  6. 准确率(Accuracy) | 查准率(Precision) | 查全率(Recall)
  7. python oled_用官方的SSD1306.py 驱动 OLED
  8. 聚簇索引和非聚簇索引详解
  9. mui 组件:“div下拉导航”【scroll固定位置】- 案例篇
  10. vuejs粒子动画特效 npm安装插件vue-particles(particles.js) - 代码篇