while循环的格式
 
  1. while expression
  2. do
  3. command
  4. command
  5. ```
  6. done
1、计数器控制的while循环
   主要用于已经准确知道要输入的数据和字符串的数目。
   举例
  1. 1 #!/bin/sh
  2. 2 int=1
  3. 3 while(( $int<=5 ))
  4. 4 do
  5. 5 echo $int
  6. 6 let "int++"
  7. 7 done
2、结束标记控制的while循环
      主要用于不知道读入数据的个数,但是可以设置一个特殊的数据值来结束循环,该特殊值称为结束标    记,通过提示用户输入进行操作。
举例
  1. 1 #用脚本演示使用结束标记控制while循环实现猜1~10内的数
  2. 2 #!/bin/sh
  3. 4 echo "Please input the num (1~~10): "
  4. 5 read num
  5. 6 while [[ $num != 4 ]]
  6. 7 do
  7. 8 if [ $num -lt 4 ]
  8. 9 then
  9. 10 echo "Too small ,Try again.."
  10. 11 read num
  11. 12 elif [ $num -gt 4 ]
  12. 13 then
  13. 14 echo "Too big ,Try again.. "
  14. 15 read num
  15. 16 else
  16. 17 exit 0
  17. 18 fi
  18. 19 done
  19. 20 echo "Yes ,you are right !!"
3、标致控制的while循环
   用户输入标志值来控制循环结束
 举例
 
  1. 1 #!/bin/sh
  2. 2 echo "Please input the num:"
  3. 3 read num
  4. 4 sum=0
  5. 5 i=1
  6. 6 signal=0
  7. 7 while [[ $signal != 1 ]]
  8. 8 do
  9. 9 if [ $i -eq $num ]
  10. 10 then
  11. 11 let "signal=1"
  12. 12 let "sum+=i"
  13. 13 echo "1+2、、、+$num=$sum"
  14. 14 else
  15. 15 let "sum=sum+i"
  16. 16 let "i++"
  17. 17 fi
  18. 18 done
4、命令行控制的while循环
  举例
  1. 1 #!/bin/sh
  2. 3 echo "Please input arguements is $# "
  3. 4 echo "What you input : "
  4. 5 while [[ $* != "" ]]
  5. 6 do
  6. 7 echo $1
  7. 8 shift
  8. 9 done

最新文章

  1. 基于SSM的租赁管理系统0.1_20161225_项目需求
  2. EF6 的性能优化
  3. Java中文编码小结
  4. 理解与应用css中的display属性
  5. POJ 3468 区间更新,区间求和(经典)
  6. ubuntu 16.04 64bit安装 Julia
  7. 课本[Teb]软件设计
  8. ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题
  9. Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
  10. Java Buffer
  11. URAL 1036(dp+高精度)
  12. 多线程面试题系列(5):经典线程同步 关键段CS
  13. win10 下 学习 xe10 误以为调试失效
  14. Redis之List
  15. 配置rpm包安装的jdk环境变量
  16. Python脚本备份
  17. mysql ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constrain fails
  18. C#中List&lt;T&gt;排序
  19. node学习系列 搭建express
  20. 红帽7配置samba文件共享服务

热门文章

  1. Android控件常见属性
  2. TCO&#39;10 Wildcard Round 1000pt
  3. shell2
  4. centos安装pcntl扩展
  5. sql CHARINDEX() 与 PATINDEX() LEN() substring() COLLATE RAISERROR
  6. poj 2553 The Bottom of a Graph(强连通、缩点、出入度)
  7. Linux的驱动模块管理:modprobe
  8. k8s部署nginx集群
  9. PHP Memcached 面试题
  10. android的DrawerLayout用法