Shell之循环语句 —— WhileUntil 实验

news2024/11/24 5:33:41

While

While循环语句:满足条件才会执行循环,不满足就结束,用于不知道循环次数,需要主动结束循环或者达到条件循环的场景

While的结构

while(条件判断)——do —— 命令序列 —— done

如:用while循环语句求出1-100的总和

[rootalocalhost opt]# vim sum.sh
i=l
sum=0
while [ si -le 100 ]
do
Sum=$(($sum+$i))
let i++
done
echo "$sum"
[rootalocalhost opt]# sh 10.sh
5050

在命令序列结尾加上 “let i++”,为了防止死循环。

死循环

while true —— 就是写死循环的方法

随机数变量表达:$RANDOM表示随机生成一个数字

例:猜数字

[root@localhost opt]# vim 13.sh
num=$(($RANDOM%100+1))
time=0
while true
do
  read -p "请输入一个整数:" num1
let time++
if [ $num -eq $num1 ]
then
  echo "你猜对了"
  echo "一共猜了${time}次"
  break
elif [ $num1 -gt $num ]
then
  echo "你猜大了"
else
  echo "你猜小了"
fi
done
[root@localhost opt]# sh 13.sh 
请输入一个整数:50
你猜小了
请输入一个整数:80
你猜大了
请输入一个整数:60
你猜小了
请输入一个整数:70
你猜大了
请输入一个整数:65
你猜大了
请输入一个整数:63
你猜大了
请输入一个整数:62
你猜对了
一共猜了7次

RANDOM%+1:表示系统在1-100范围之间随机生成一个数字,用户猜大或猜小了都会有提示,猜对了并提升你共猜了几次。

Until

Until语句用来重复测试某个语句,只要当判断条件不成立时就进行循环,条件成立时终止循环

Until语句格式

until  [条件测试语句] —— do —— 命令序列 —— done

与While语句格式相似

例:算1-100的总和

[rootalocalhost opt]# vim sum.sh
5050
i=0
sum=0
until [ $i -gt 10 ]
do
sum=$(($i+ssum))
let i++
done
echo $sum
[rootalocalhost opt]# sh sum.sh
5050

实验

实验一

实验二

While循环求和

Until循环求和

实验三

实验四

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/766394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python实现HBA混合蝙蝠智能算法优化卷积神经网络分类模型(CNN分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝙蝠算法是2010年杨教授基于群体智能提出的启发式搜索算法,是一种搜索全局最优解的有效方法…

qiankun框架vue3主应用和子应用生产环境打包部署nginx

首先下载nginx,进行最小化配置 用vscode 打开nginx.conf文件 在http模块的server模块里进行配置 listen 字段监听端口号 http的默认端口号是80(nginx的端口号可以随便写) server_name字段 是ip地址 lochhost就是127.0.0.1 lacation 字段 是在浏览器的地址栏http协议ip地址…

C++类和对象——类的基础

目录 类的引入类的定义类的访问限定符和封装对象的实例化类对象的大小this指针 类的引入 在C语言中,结构体中只能定义变量 但是在C中,结构体不仅可以定义变量,还可以定义函数 下面就是C中的一个结构体: struct Stack {void init(…

【Linux系统 学习笔记】Linux线程互斥 线程安全 可重入 不可重入 死锁

目录 Linux 线程互斥进程线程间互斥相关背景和概念互斥量互斥量的接口互斥量实现原理探究 可重入与线程安全概念常见的线程不安全的情况常见的线程安全的情况常见不可重入的情况常见可重入的情况可重入与线程安全联系可重入与线程安全区别 死锁死锁四个必要条件避免死锁 Linux …

【代码随想录13】前 K 个高频元素

题目 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums [1,1,1,2,2,3], k 2输出: [1,2] 示例 2: 输入: nums [1], k 1输出: [1] 提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素…

黑客学习笔记(自学)

一、首先,什么是黑客? 黑客泛指IT技术主攻渗透窃取攻击技术的电脑高手,现阶段黑客所需要掌握的远远不止这些。 二、为什么要学习黑客技术? 其实,网络信息空间安全已经成为海陆空之外的第四大战场,除了国…

C#(六十)之Convert类 和 Parse方法的区别

Convert数据类型转换类,从接触C#开始,就一直在用,这篇日志坐下深入的了解。 Convert类常用的类型转换方法 方法 说明 Convert.ToInt32() 转换为整型(int) Convert.ToChar() 转换为字符型(char) Convert.ToString() 转换为字符串型(st…

优化CSS重置过程:探索CSS层叠技术的应用与优势

目录 下面是正文~~ CSS重置方法 方法的结合 合并方法的问题 通用移除样式 顺序很重要 CSS 优先级 我们的CSS特异性冲突 CSS Layers 来拯救 Sass 预处理器支持 浏览器支持 总结 这篇文章介绍了一种名为CSS层叠的技术,用于优化CSS重置过程。它解释了CSS重…

网络安全(黑客技术)最全面的学习笔记

学网络安全如何成为一名黑客呢? 整合了全知识点及学习框架,本篇零基础依然适用! 本篇涵盖内容及其全面,强烈推荐收藏! 一、学习网络安全会遇到什么问题呢? 1、学习基础内容多时间长 学习基础语言太多&…

基于MATLAB的无人机遥感数据预处理与农林植被性状估算教程

详情点击链接:基于MATLAB的无人机遥感数据预处理与农林植被性状估算前言 遥感技术作为一种空间大数据手段,能够从多时、多维、多地等角度,获取大量的农情数据。数据具有面状、实时、非接触、无伤检测等显著优势,是智慧农业必须采…

初中级PHP程序员如何进阶学习?

如果你是一个以PHP为主的开发人员,只会依赖现成的框架进行增删改查,想提高自己又不知道从何下手,你可以花点时间研究一下我这个开源项目:酷瓜云课堂,这个项目以PHPJS 为主,负责主要的业务逻辑,部…

基于遗传算法的新能源电动汽车充电桩与路径选择MATLAB程序

主要内容: 根据城市间的距离,规划新能源汽车的行驶路径。要求行驶距离最短。 部分代码: %% 加载数据 %%遗传参数 load zby;%个城市坐标位置 NIND50; %种群大小 MAXGEN200; Pc0.9; %交叉概率 Pm0.2; %变异概率 GGAP0.…

初识Redis——Redis概述、安装、基本操作

目录 一、NoSQL介绍 1.1什么是NoSQL 1.2为什么会出现NoSQL技术 1.3NoSQL的类别 1.4传统的ACID是什么 1.5 CAP 1.5.1 经典CAP图 1.5.4 什么是BASE 二、Redis概述 2.1 什么是Redis 2.2 Redis能干什么 2.3 Redis的特点 2.4 Redis与memcached对比 2.5 Redis的安装 2.6 Docker安装 三…

基于Redisson的Redis结合布隆过滤器使用

一、场景 缓存穿透问题 一般情况下,先查询Redis缓存,如果Redis中没有,再查询MySQL。当某一时刻访问redis的大量key都在redis中不存在时,所有查询都要访问数据库,造成数据库压力顿时上升,这就是缓存穿透。…

【Python基础】- break和continue语句

在Python中,break和continue是用于控制循环语句的特殊关键字。 break语句用于跳出当前的循环(for循环或while循环),并继续执行紧接着的循环外的代码。它通常用于满足某个条件时提前结束循环。例如,考虑以下示例&#…

《啊哈算法》第三章--枚举 与 暴力

文章目录 前言一、坑爹的奥数二、炸弹人三、火柴棍等式四、全排列总结 前言 前面我们学习了排序和栈 队列 链表&#xff0c;本节就学习暴力枚举的思想。 一、坑爹的奥数 题目1 □3 x 6528 3□ x 8256&#xff0c;在 □ 里填入相同数字使等式成立 代码如下 #include<ios…

PDF在线转PPT,不用下载软件网页在线即可转换!

PDF是我们经常在办公中使用的文件格式&#xff0c;它的兼容性和安全性使得它成为了传输文件的首选。而PPT则是我们常用的演示文稿格式&#xff0c;无论是在学校还是在公司&#xff0c;我们都需要制作演讲和汇报的PPT文件。由于这两种文件格式的重要性&#xff0c;我们经常需要进…

python的魔法函数

一、介绍 在Python中&#xff0c;魔法函数是以双下划线__开头和结尾的特殊函数。它们在类定义中用于实现特定的行为&#xff0c;例如运算符重载、属性访问、迭代等。 以下是一些常见的Python魔法函数&#xff1a; __init__: 这是一个特殊的构造函数&#xff0c;在创建类的实例…

JDBC中的Statement,PreparedStatement和CallableStatement

一旦获得连接&#xff0c;我们就可以与数据库进行交互。JDBC Statement、 CallableStatement 和 PreparedStatement 接口定义了方法和属性&#xff0c;这些方法和属性使您能够发送 SQL 命令并从数据库接收数据。 它们还定义了有助于弥合数据库中使用的 Java 和 SQL 数据类型之…

【阿Q送书第二期】《高并发架构实战:从需求分析到系统设计》

#挑战Open AI&#xff01;马斯克宣布成立xAI&#xff0c;你怎么看&#xff1f;# 文章目录 你想成为架构师嘛&#xff1f;架构经验高并发高并发架构实战特点值得推荐赠书规则 你想成为架构师嘛&#xff1f; 很多软件工程师的职业规划是成为架构师&#xff0c;但是要成为架构师很…