shell脚本的for循环

循环:

循环是一种重复执行代码的结构。只要满足循环的条件,会一直执行这个代码。

循环条件:在一定范围之内,按照指定的次数来执行循环。

循环体:在指定的次数内,执行的命令序列。只要条件满足,循环体会被一直执行。

循环和遍历:

遍历指的就是对数据结构中每个元素进行一次访问的过程。通常和循环一起使用。

访问的目的就是为了执行特定的操作

循环是操作

遍历就是输出

循环的作用:

1、重复执行代码,尤其是统一的,相同的,批量的操作。

2、提高代码的重复利用率

3、提高人工的效率。减少人工的干预,提高效率。

4、简化程序的逻辑,降低代码出错的可能性。

for循环:已知循环次数的场景

while循环:和for循环可以通用,通常用于死循环。

until:条件不满足才执行循环,条件不满足,不执行。

for循环:

for循环的格式:

格式1:

for    变量名称(前面没有$)    in    {范围}
do 命令序列
done

格式2:

类c语言格式:

for ((表达式1;表达式2;表达式3))
do命令序列
done

表达式1:定义变量并且赋予初始值

表达式2:循环的范围

表达式3:循环的方式,变量每一次自增1

格式3:

死循环

for ((;;))
do 命令序列
done

累加求和?1-100一直相加,最后的结果是多少呢?用循环来实现

a=0
for ((i=1;i<=100;i++))
doa=$(($a+$i))
done
echo $a
[root@localhost opt]# sh a.sh 
5050

累加求和?1-100一直相加,最后的结果是多少呢?用循环来实现

分别求出奇数和和偶数和

a=0
b=0
for ((i=1;i<=100;i++))
doif (( $i%2 == 0 ))thena=$(($a+$i))elseb=$(($b+$i))fi
done
echo $a
echo $b
[root@localhost opt]# sh a.sh 
2550
2500

自定义输入一个数,然后求从1到该数字的累加和?不超过100。

read -p "输入一个0~100之间的随机数:" a
num=0
for ((i=1;i<=$a;i++))
donum=$(($num+$i))
done
echo $num
RANDOM  0-32767
循环控制语句 continue break

break:在循环内部,执行到break命令时,会立即跳出当前循环,并终止

continue:把执行到continue时,跳出当前循环,但是如果循环条件依然满足,会执行后续的循环条件。

#猜数字,输入一个0~100的随机数,这个随机数由系统生成
#死循环,一直到用户猜中为止,猜中了才会终止。
a=$((RANDOM%100+1))
for ((;;))
do
read -p "请输入一个0~100的随机数:" bif [[ $b -lt $a ]]
thenecho "你猜小了!"
elif [[ $b -gt $a ]]
thenecho "你猜大了!"
elseecho "恭喜你,你猜对了!"break
fi
done
[root@localhost opt]# sh c.sh 
请输入一个0~100的随机数:50
你猜小了!
请输入一个0~100的随机数:78
你猜大了!
请输入一个0~100的随机数:69
你猜大了!
请输入一个0~100的随机数:58
你猜大了!
请输入一个0~100的随机数:55
你猜大了!
请输入一个0~100的随机数:53
恭喜你,你猜对了!

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

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

相关文章

阿里云运维第一步(监控):开箱即用的监控

作者&#xff1a;仲阳 这是云的时代&#xff0c;现在云计算已经在各行各业广泛的应用。但是上云对于大多数客户来说&#xff0c;依然有很大的学习成本&#xff0c;如下图仅是阿里云都有几百款产品&#xff0c;怎么选择&#xff1f;怎么用&#xff1f;对于客户来说都是问题。“…

手撕设计模式——计划生育之单例模式

1.业务需求 ​ 大家好&#xff0c;我是菠菜啊。80、90后还记得计划生育这个国策吗&#xff1f;估计同龄的小伙伴们&#xff0c;小时候常常被”只生一个好“”少生、优生“等宣传标语洗脑&#xff0c;如今国家已经放开并鼓励生育了。话说回来&#xff0c;现实生活中有计划生育&…

2024网络安全学习路线 非常详细 推荐学习

关键词&#xff1a;网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线 首先咱们聊聊&#xff0c;学习网络安全方向通常会有哪些问题 1、打基础时间太长 学基础花费很长时间&#xff0c;光语言都有几门&#xff0c;有些人会倒在学习 linux 系统及命令的路上&#…

嵌套查询(二)-谓词EXISTS实现嵌套查询

一、EXISTS谓词 1、作用&#xff1a;用于判断一个子查询的结果是否为空 2、使用语法&#xff1a; 【NOT】EXISTS&#xff08;子查询&#xff09; 语义&#xff1a;如果子查询的查询结果不为空&#xff0c;则EXISTS为真&#xff0c;否则为假 二、举例 1、举例1&#xff1a…

【数据结构 |集合框架、泛型】初始集合框架、时间(空间)复杂度、简单认识泛型

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; &#x1f388;丠丠64-CSDN博客&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起…

学习AI 机器学习,深度学习需要用到的python库

学习人工智能&#xff08;AI&#xff09;时&#xff0c;Python是最流行的编程语言之一。以下是一些常用的Python库和工具&#xff0c;它们可以帮助你入门并深入学习AI和机器学习&#xff1a; 数据处理和分析库 NumPy: 用于处理大型多维数组和矩阵运算&#xff0c;并提供数学函…

【启明智显彩屏应用】Model3A 7寸触摸彩屏的充电桩应用方案

一、充电桩概述 &#xff08;一&#xff09;充电桩诞生背景 随着社会的进步和人们生活质量的提升&#xff0c;汽车已逐渐融入每个家庭的日常生活中。然而&#xff0c;汽车数量的激增也带来了严重的环境污染问题&#xff0c;特别是尾气排放。为了应对这一挑战&#xff0c;新能源…

详解 Flink Table API 和 Flink SQL 之函数

一、系统内置函数 1. 比较函数 API函数表达式示例Table API&#xff0c;>&#xff0c;<&#xff0c;!&#xff0c;>&#xff0c;<id1001&#xff0c;age>18SQL&#xff0c;>&#xff0c;<&#xff0c;!&#xff0c;>&#xff0c;<id‘1001’&…

用PlayCanvas打造一个3D模型

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 基于 PlayCanvas 的 3D 物理场景开发 应用场景介绍 PlayCanvas 是一款功能强大的 3D 引擎&#xff0c;可用于创建各种类型的 3D 体验&#xff0c;包括游戏、模拟和交互式可视化。本技术博客将介绍如何使用 Pl…

怎么把wma格式转化为mp3格式?四种wma格式转成MP3格式的方法

怎么把wma格式转化为mp3格式&#xff1f;转换WMA格式音频文件为MP3格式是一个常见的需求&#xff0c;尤其是在我们希望在不同设备或平台上播放音频时。WMA格式虽然在Windows系统中较为常见&#xff0c;但在其他平台上的兼容性可能不如MP3格式。因此&#xff0c;将WMA转换为MP3是…

基于Spring Boot的智能分析平台

项目介绍&#xff1a; 智能分析平台实现了用户导入需要分析的原始数据集后&#xff0c;利用AI自动生成可视化图表和分析结论&#xff0c;改善了传统BI系统需要用户具备相关数据分析技能的问题。该项目使用到的技术是SSMSpring Boot、redis、rabbitMq、mysql等。在项目中&#…

在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)

1. 在 Wed 中应用 MyBatis&#xff08;同时使用MVC架构模式&#xff0c;以及ThreadLocal 事务控制&#xff09; 文章目录 1. 在 Wed 中应用 MyBatis&#xff08;同时使用MVC架构模式&#xff0c;以及ThreadLocal 事务控制&#xff09;2. 实现步骤&#xff1a;1. 第一步&#xf…

Vulnhub-DC-1,7

靶机IP:192.168.20.141 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 前言 1和7都是Drupal的网站&#xff0c;只写了7&#xff0c;包含1的知识点 信息收集 用nmap扫描端口及版本号 进入主页查看作者给的提示&#xff0c;不是暴力破解的…

nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;旅游行业当然也不能排除在外。智慧乡村旅游平台是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

Weighted A* 改进型(1):XDP

本文的主要内容来自于文献[1]&#xff0c;总的来说这篇文献给我的感觉就是理论证明非常精妙&#xff0c;最后的实际效果也是提升的非常明显。 在Introduction中作者给出了一般Best first search&#xff08;BFS&#xff0c;常用的包括A *&#xff0c;weighted A * &#xff0c…

TK防关联引流系统:全球多账号运营,一“键”掌控!

在TikTok的生态系统中&#xff0c;高效管理多个账号对于品牌推广的成功起着决定性的作用。TK防关联引流系统&#xff0c;作为一款专门为TikTok用户打造的强大工具&#xff0c;为全球范围内的多账号运营提供了坚实的支持。 TK防关联引流系统的核心优势体现在以下几个方面&#x…

2024.6.13

2024.6.13 【痛苦的&#xff0c;热烈的&#xff0c;误解的&#xff0c;无解的&#xff0c;快乐的&#xff0c;解脱的】 Thursday 五月初八 <theme oi-“game theory”> P4018 Roy&October之取石子 Roy&October之取石子 题目背景 Roy 和 October 两人在玩一个…

anaconda安装pytorch-快速上手99%可以(可以虚拟环境OR不进行虚拟环境)

一、预备工作 先检查自己是否有anaconda 在cmd里面输入conda --version查看 二、在anaconda中创建虚拟环境 1.1 打开Anaconda Prompt 1.2 进行自定义安装python 将其中的自定义地址和版本换成自己想安装的地址和版本 我这里安装的地址是E:\Anaconda\DL,python版本是3.8.3…

uniapp地图自定义文字和图标

这是我的结构&#xff1a; <map classmap id"map" :latitude"latitude" :longitude"longitude" markertap"handleMarkerClick" :show-location"true" :markers"covers" /> 记住别忘了在data中定义变量…

Vue页面生成PDF后调起浏览器打印

一、安装依赖 首先&#xff0c;需要安装 html2canvas 和 jsPDF 库。 npm install html2canvas jspdf二、创建公共方法引入 在utils文件夹下创建两个文件分别为pdfExport.js和printPDF.js&#xff0c;代码如下&#xff1a; pdfExport.js import html2canvas from html2canv…