Shell中的循环

1.while循环

  • while循环是shell脚本中最简单的一种循环:
  • 当条件满足时,while重复地执行一组语句,当条件不满足时,就退出while循环
  • 语法:
while condition		#condition表示判断条件
do
	statements		#statements表示要执行的语句
done
  • 1.在while循环体中必须有相应的语句使得condition越来越趋于“不成立”,只有这样才能最终退出循环,都则while就成了死循环,会一直执行下去,永无休止
  • 2.while语句和if else 语句中的condition用法都是一样的,你可以使用test或者[ ]命令,也可以使用(( ))或[[ ]]
练习:
  • 计算1~100的和
    在这里插入图片描述
  • 计算从m加到n的值
    在这里插入图片描述
  • 实现简单加法计算器
    在终端中读取数据可以等价与在文件中读取数据,按下Ctrl+D组合键表示读取到文件流的末尾,此时read就会读取失败,得到一个非0的退出状态,从而导致判断条件不成立,结束循环
    在这里插入图片描述

2.until循环

  • until循环和while循环恰好相反:
  • 当判断条件不成立时才进行循环,一旦判断条件成立,就终止循环
  • 用法:
until condition	#在until循环体中必须有相应的语句使得condition越来越趋近于“成立”,只有这样才能最终退出循环,否则until就成了死循环
do
	statements
done
练习:
  • 计算1~100的和
    在这里插入图片描述
  • 实现变量的依次输出
    在这里插入图片描述
  • 实现1000逐减200
    在这里插入图片描述

3.C语言风格的for循环

  • 用法:
for ((exp1;exp2;exp3))
do
	statements
done
  • 先执行exp1;
  • 再执行exp2,如果它的判断结果成立,则执行循化体中的语句,否则结束整个for循环;
  • 执行完循环体后再执行exp3;
  • 重复执行步骤2和3,直到exp2的判断结果不成立,就结束循环;
  • 上面的步骤中,第二步和第三步合并在一起算一次循环,会重复执行。for语句的主要作用就是不断执行步骤2和3
  • 1.exp1仅在第一次循环时执行,以后都不会再执行。可以认为这是一个初始化语句
  • 2.exp2一般是一个关系表达式,决定了是否有还要继续下次循环,称为“循化条件”
  • 3.exp3很多情况下是一个带有自增或自减运算的表达式,以使循环条件逐渐变得“不成立”
  • 4.for循环中的exp1、exp2、exp3都是可选项,都可以省略,但分号必须保留!
for ((初始化语句;判断条件;自增或自减))

练习(C语言风格)

计算1到100的和

在这里插入图片描述

  • 省略初始化条件
    在这里插入图片描述
  • 省略判断条件
    在这里插入图片描述
  • 省略自增或自减
    在这里插入图片描述
  • 全部省略
    在这里插入图片描述
  • 结果
    在这里插入图片描述

4.Python风格的for循环

  • 用法
for variable in value_list		#variable表示变量,value_list表示取值列表
do
	statements
done
  • 循环过程:
  • 每次循环都会从value_list中取出一个值赋给变量variable,然后进入循环体,执行循环中的statements,直到取完value_list中的所有值,循环结束
python风格for循环练习
  • value_list:直接给出具体的值
    在这里插入图片描述
  • value_list:直接给出具体的值
    在这里插入图片描述
  • value_list:给出一个取值范围
  • value_list:给出一个取值范围 {start…end}
  • start:起始值 end:终止值
  • 中间用两个点相连
  • 这种形式只支持数字和字母
    在这里插入图片描述
  • value_list:给出一个取值范围
    在这里插入图片描述
  • value_list:根据命令的执行结果
  • 获取命令执行结果:反引号`` 或者$( )
    在这里插入图片描述
  • value_list:命令的结果
    在这里插入图片描述
  • value_list:可以使用通配符
    在这里插入图片描述
  • value_list:可以使用特殊符号
  • $@表示参数列表中所有参数
    在这里插入图片描述
  • value_list可以省略
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值