Shell中的while用法

基本格式

while  conditiondocommand1command2command3done
while循环的执行流程为:先对condition进行判断,如果该条件成立,就进入循环,执行while循环体中的语句这样就完成了一次循环每次执行到done的时候都会重新判断condition是否成立,如果成立就进入下一次循环,继续执行do和done之间的语句如果不成立就结束整个while循环执行done后面的其他shell代码如果一开始condition就不成立,那么程序就不会进入循环体,do和done之间的语句就没有执行的机会注意在while循环体中必须有相应的语句使的condition越来越趋近于不成立只有这样才能最终退出循环,否则while就成为了死循环,会一直执行下去While语句好if else语句中到的condition用法都是一样的,你可以使用test或[]命令,也可以使用(())或[[]][root@localhost while]# cat 01.sh#!/bin/bash#计算1-100的和i = 1sum=0while (( i <=100))do((sum+=i))((i++))doneecho “This sum is:$sum”[root@localhost while]# sh 01.shThis sum is:5050[root@localhost while]# cat 02.sh#!/bin/bash#计算加到m到n的值read mread nsum=0while (( m<=n))do((sum+=m))((m++))doneecho “This sum is:$sum”[root@localhost while]# sh 02.sh46This sum is:15练习:实现一个简单的加法计算器,用户每行输入一个字计算所有数字的和(请输入您要计算的数字,按住Ctrl+D组合键结束读取)#!/bin/bashsum=0echo “请输入数字,按住Ctrl+D组合键结束读取”do((sum+=n))doneecho “This sum is:$sum”#在终端读取数据可以 等于在文件中读取数据,按住Ctrl+d组合键表示读取到文件流的末尾此时read就会读取失败,得到一个非0的退出状态,从而导致判断条件不成立结束循环

Shell中的while用法相关推荐

  1. shell实例第22讲:shell中分隔符IFS用法

    shell中分隔符IFS用法 1.什么是IFS? IFS在shell中是分隔符的意思,即IFS这个变量中存放了分隔符. 2.IFS是全局变量还是局部变量? (1)linux中变量分两种:全局变量env ...

  2. linux 脚本map,shell中map的用法

    ##实例代码 #!/bin/bash cat ./switchsql.txt | while read line do tmp_partition_name=`echo $line | awk -F ...

  3. Shell中的join用法

    Shell中的join用法 将两个文件里指定栏位置同样的行连接起来, 即依照两个文件中共同拥有的某一列, 将相应的行拼成一行(原文件不改变) 内连接(忽略不匹配的行) join file1 file2 ...

  4. Shell中的until用法

    Shell中的until用法 基本格式: until CONDITIONdostatementdone    说明:     until进入循环的条件是:condition不成立时,就执行循环.    ...

  5. shell 中TR的用法,大小写转化

    shell 中TR的用法,大小写转化 1. 用tr 例如:UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写)LOW ...

  6. shell中expect的用法

    shell中expect的用法 expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: ...

  7. linux bash and,linux bash shell中for的用法and示例

    关于linux bash shell中的for语句 在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循环命令,今天就介绍一下关于for的一些用 ...

  8. shell 中的expect 用法

    expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...

  9. shell中的EOF用法

    1.EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主调Shell. 可以把EOF替换成其他东西,意思是把内容 ...

  10. shell中test命令用法详解

    1) 与文件检测相关的 test 选项 表1:test 文件检测相关选项列表 文件类型判断 选 项 作 用 -b filename 判断文件是否存在,并且是否为块设备文件. -c filename 判 ...

最新文章

  1. 第二十章:异步和文件I/O.(十一)
  2. vue2.0中Ajax库(axios)
  3. FusionCharts-堆栈图、xml格式、刷新数据、添加事件link、传参
  4. springboot连接mysql乱码_springboot2.x——接口访问出现中文乱码
  5. MySQL Client/Server Protocol
  6. 黑苹果配置清单以及安装
  7. 安川g7接线端子图_安川G7变频器各接线端子功能说明
  8. access实验报告体会_Access2010实验报告
  9. oracle excel更新,excel表格的数据如何更新-如何将excel表格更新oracle数据库中数据...
  10. linux怎么查找bin文件内容,[转载]Linux 文件、内容查找(递归) ,grep ,find
  11. matlab2014如何获得hostid,hostid.c/获取主机标识
  12. 手机RAM ROM TF
  13. nestjs+vue+ts打造一个酷炫的星空聊天室
  14. 给中国学生的第七封信:21世纪最需要的7种人才(李开复)
  15. 【bfs】密码锁-C++
  16. PostgreSQL 源码解读(31)- 查询语句#16(查询优化-表达式预处理#1)
  17. Android降低屏幕白点吗,360手机桌面强化白点工具 降低安卓使用门槛
  18. js 年会大屏_ECharts + Jquery 做大屏展示
  19. self.跟self-什么区别?
  20. 微信开发40163 40029错误总结

热门文章

  1. 用手机写代码,在网页中写代码
  2. linux修改文件类型和权限
  3. Unity资源的基本类型
  4. ps里面的css,PS图层样式详解(上)
  5. 【笔记】WGS84转GCj02
  6. Matlab运行.m文件
  7. Style之flag标签
  8. 掩码位数原理、掩码位数计算方法、VLSM详解(IP地址划分方法)、CIDR详解
  9. excel中如何解锁锁定单元格
  10. 【Leetcode】1214. Two Sum BSTs