Shell中的while循环
2024-08-27 11:29:27
while循环的格式
- while expression
- do
- command
- command
- ```
- done
1、计数器控制的while循环
主要用于已经准确知道要输入的数据和字符串的数目。
举例
- 1 #!/bin/sh
- 2 int=1
- 3 while(( $int<=5 ))
- 4 do
- 5 echo $int
- 6 let "int++"
- 7 done
2、结束标记控制的while循环
主要用于不知道读入数据的个数,但是可以设置一个特殊的数据值来结束循环,该特殊值称为结束标 记,通过提示用户输入进行操作。
举例
- 1 #用脚本演示使用结束标记控制while循环实现猜1~10内的数
- 2 #!/bin/sh
- 4 echo "Please input the num (1~~10): "
- 5 read num
- 6 while [[ $num != 4 ]]
- 7 do
- 8 if [ $num -lt 4 ]
- 9 then
- 10 echo "Too small ,Try again.."
- 11 read num
- 12 elif [ $num -gt 4 ]
- 13 then
- 14 echo "Too big ,Try again.. "
- 15 read num
- 16 else
- 17 exit 0
- 18 fi
- 19 done
- 20 echo "Yes ,you are right !!"
3、标致控制的while循环
用户输入标志值来控制循环结束
举例
- 1 #!/bin/sh
- 2 echo "Please input the num:"
- 3 read num
- 4 sum=0
- 5 i=1
- 6 signal=0
- 7 while [[ $signal != 1 ]]
- 8 do
- 9 if [ $i -eq $num ]
- 10 then
- 11 let "signal=1"
- 12 let "sum+=i"
- 13 echo "1+2、、、+$num=$sum"
- 14 else
- 15 let "sum=sum+i"
- 16 let "i++"
- 17 fi
- 18 done
4、命令行控制的while循环
举例
- 1 #!/bin/sh
- 3 echo "Please input arguements is $# "
- 4 echo "What you input : "
- 5 while [[ $* != "" ]]
- 6 do
- 7 echo $1
- 8 shift
- 9 done
最新文章
- 基于SSM的租赁管理系统0.1_20161225_项目需求
- EF6 的性能优化
- Java中文编码小结
- 理解与应用css中的display属性
- POJ 3468 区间更新,区间求和(经典)
- ubuntu 16.04 64bit安装 Julia
- 课本[Teb]软件设计
- ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题
- Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
- Java Buffer
- URAL 1036(dp+高精度)
- 多线程面试题系列(5):经典线程同步 关键段CS
- win10 下 学习 xe10 误以为调试失效
- Redis之List
- 配置rpm包安装的jdk环境变量
- Python脚本备份
- mysql ERROR 1217 (23000): Cannot delete or update a parent row: a foreign key constrain fails
- C#中List<;T>;排序
- node学习系列 搭建express
- 红帽7配置samba文件共享服务
热门文章
- Android控件常见属性
- TCO&#39;10 Wildcard Round 1000pt
- shell2
- centos安装pcntl扩展
- sql CHARINDEX() 与 PATINDEX() LEN() substring() COLLATE RAISERROR
- poj 2553 The Bottom of a Graph(强连通、缩点、出入度)
- Linux的驱动模块管理:modprobe
- k8s部署nginx集群
- PHP Memcached 面试题
- android的DrawerLayout用法