10 while和unitl循环结构语句

news/2024/9/23 15:33:42/

while和unitl循环结构语句

一、循环结构语句

​ Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而until属于“直到型循环”。

二、详解while循环

​ while循环也称为前测试循环语句,重复次数是利用一个条件来控制是否继续重复执行这个语句。为了避免死循环,必须保证循环体中包含循环出口条件即表达式存在退出状态为非0的情况。

​ 计算从1到100所有奇数的和。

sum=0
i=1
while(( i <= 100 ))
dolet "sum+=i"let "i += 2"
done
echo "sum=$sum"

​ 循环控制符break和continue

​ break:在for、while和until循环中break可强行退出循环,break语句仅能退出当前的循环,如果是两层循环嵌套,则需要在外层循环中使用break。

​ 案例:计算机随机生成一个1到10的随机数,最多由用户猜五次看看能猜中?

#!/bin/bash# 生成随机数
r=$(( $RANDOM%10+1 ))i=0
while [ $i -lt 5 ];do# 获取用户输入数字echo -n "请输入:"read userNumif [ $userNum -gt $r ]; thenecho "太大了,再试一次"elif [ $userNum -lt $r ]; thenecho "太小了,再试一次"elseecho "猜对了,$r"# 猜对了,退出循环breakfilet i++
done

​ continue:在for、while和until中用于让脚本跳过其后面的语句,执行下一次循环。

​ 案例: continue用于显示100内能被7整除的数。

#!/bin/bashi=0while [ $i -le 100 ];dolet i++r=$((i%7))if [ $r -eq 0 ];thenecho "$i"continueecho "跳出循环,不显示"fi
done

三、详解until循环

​ until命令和while命令类似,while能实现的脚本until同样也可以实现,但是until与while刚好相反,即whie循环在条件为真时继续执行循环而until则在条件为假时执行循环

until [[ "$i" -gt 5 ]]
dolet "square=i*i"echo "$i * $i = $square"let "i++"
done

http://www.ppmy.cn/news/1529384.html

相关文章

线性代数之QR分解和SVD分解

文章目录 1.QR分解Schmidt正交化Householder变换QR分解的应用 2. 求矩阵特征值、特征向量的基本方法3.SVD分解SVD分解的应用 参考文献 1.QR分解 矩阵的正交分解又称为QR分解&#xff0c;是将矩阵分解为一个正交矩阵Q和一个上三角矩阵R的乘积的形式。 任意实数方阵A&#xff0c…

lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了,为什么?

环境&#xff1a; lora 微调 问题描述&#xff1a; lora 微调3B模型微调前有5G 量化f16 后最后导出模型容量变小了只有2G了&#xff0c;为什么&#xff1f; 解决方案&#xff1a; 在使用LoRA&#xff08;Low-Rank Adaptation&#xff09;对大语言模型&#xff08;例如一个…

爬虫 ----hook

目录 定义&#xff1a; 了解什么是hook? 举例 hook XHR请求 XMLHttpRequest 案例地址&#xff1a; Interceptors-拦截器 HOOK cookie操作 cookie 示范 常见的hook代码总结 1.Hook Cookie 2.Hook Header 3.Hook URL 4.Hook JSON.stringify 5.Hook JSON.parse 6.Ho…

mybatis 配置文件完成增删改查(三) :mybatis如何接收多个参数

文章目录 mybatis如何接收多个参数同时满足多个条件 的查询1方法二方法三 mybatis如何接收多个参数 三种方法 同时满足多个条件 的查询 1 编写接口方法&#xff1a;Mapper接口 参数可能是好几个 结果类型 List //同时满足多个条件的查询/*** Param("与sql语句占位符一…

pg入门3—详解tablespaces—下

pg默认的tablespace的location为空&#xff0c;那么如果表设置了默认的tablespace&#xff0c;数据实际上是存哪个目录的呢? 在 PostgreSQL 中&#xff0c;如果你创建了一个表并且没有显式指定表空间&#xff08;tablespace&#xff09;&#xff0c;或者表空间的 location 为…

后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0920)

十三、文章分类页面 - [element-plus 表格] Git仓库&#xff1a;https://gitee.com/msyycn/vue3-hei-ma.git 基本架子 - PageContainer 功能需求说明&#xff1a; 基本架子-PageContainer封装文章分类渲染 & loading处理文章分类添加编辑[element-plus弹层]文章分类删除…

postman工具

postman是什么接口工具。接口是什么api&#xff08;俗称应用编程接口&#xff0c;简称接口&#xff09;&#xff1b;也就是程序&#xff08;服务端程序&#xff09;与程序&#xff08;客户端程序&#xff09;之间的通信方式。例如模仿服务端发送请求到客户端例如模仿客户端发送…

docker技术(上)

一、docker简介 Docker 是一个开源的应用容器引擎&#xff0c;于 2013 年由 Solomon Hykes 推出并开源。它基于 Go 语言开发&#xff0c;遵从 Apache2.0 协议。Docker 可以让开发者将应用及其依赖包打包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 或 Windows…