Shell脚本④循环语句for、while、until

目录

一.for

1. 九九乘法表

2.求1到10奇数和

3.累计加到100

(1)方法一

(2)方法2

二.while

1.猜价格小游戏

2.累加到100的方法三

三.until循环

1.累加到100方法四

四.嵌套循环

五.循环语句中break、exit和continue

1.break的使用

2.exit的使用

3.continue的使用


一.for

格式:

for 变量名 in   {list}
do
     命令
done

1. 九九乘法表

#!/bin/bash
for j in {1..9}
    do
       for i in `seq $j`
    do
	 echo -e "${i}x${j}=$[i*j] \t\c"
	 #\t tab键可以对齐
    done
	echo
done

2.求1到10奇数和

#/bin/bash
sum=0
for i in {1..10..2}
do
  sum=$[sum+i]
  let i++
done
echo "10以内的奇数和为:$sum"

3.累计加到100

(1)方法一
#!/bin/bash
sum=0
for iin {1..100}
do
sum=$[sum+i]
done
echo $sum

(2)方法2
#!/bin/bash
sum=0
for ((i=0;i<=100;i++))
do
sum=$[i+sum]
done
echo sum=$sum

二.while

格式:
while  [ 条件测试操作 ]
do                        #do代表循环的开始
    判断式/命令序列
done                     #done代表循环的结束

1.猜价格小游戏

#!/bin/bash
p=`echo $[RANDOM%1000+1]`
time=0
 
while true
do
let time++
read -p "请输入您猜测的价格(1-1000):" h
if [ $h -eq $p ]
then
echo "恭喜您猜中了,您一共猜测了$time次"
exit
elif [ $h -gt $p ]
then
echo "您猜测的价格过高"
else
echo "您猜测的价格过低"
fi
done

2.累加到100的方法三

#!/bin/bash
i=0
sum=0
while [ $i -le 100 ]
do
sum=$[i+sum]
let i++
done
echo $sum

三.until循环

格式:
until  [ 条件测试操作 ]
do
    判断式/命令序列
done

1.累加到100方法四

#!/bin/bash
sum=0
i=0
until [ $i -gt 100 ]
do
 sum=$[sum+i]
 let i++
done
echo "{1..100}的和:$sum"

四.嵌套循环

格式:
#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
                echo -e "\t此${j}为内部循环"
        done
done

五.循环语句中break、exit和continue

1.break的使用

#!/bin/bash
for ((i=1;i<5;i++))
do      
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 3 ]			<------如果j的值为3
            then
                break				<------跳出当前循环(内部)
            fi  
        echo -e "\t此${j}为内部循环"
        done
done

2.exit的使用

#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 3 ]					<------如果j的值为3
            then
                exit						<------结束当前脚本
            fi
        echo -e "\t此${j}为内部循环"
        done
done
 

3.continue的使用

#!/bin/bash
for ((i=1;i<5;i++))
do
        echo 此${i}为外部循环
        for((j=1;j<4;j++))
        do
            if [ $j -eq 2 ]					<------如果j的值为2
            then
                continue					<------中止循环中本次的命令,但不会完全中止整个循环或脚本
            fi
        echo -e "\t此${j}为内部循环"
        done
done

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入了解Python游戏开发模块:pyglet

目录 一、引言 二、pyglet简介 三、pyglet的功能与特点 四、如何使用pyglet开发游戏 五、与其他游戏开发框架的比较 六、结论 一、引言 在Python中&#xff0c;pyglet是一个强大的游戏开发模块&#xff0c;它提供了创建2D和3D游戏所需的各种工具。pyglet使用OpenGL作为其…

叩开c++的大门

目录 1. 什么是c&#xff1f; 2. c的发展史 3. c和c语言的区别是什么呢&#xff1f; 4. 接下来让我们正式进入c的学习吧。 4.1 c的关键字 4.2 命名空间 4.2.1 命名空间的定义 4.2.2 命名空间的使用 4.3 c的输入输出 std命名空间的使用惯例std是C标准库的命名空间&…

新年的故事,独具魅力的新年传说

新年的故事&#xff0c;独具魅力的新年传说 新年&#xff0c;是我们每年都期盼的时刻。在这个喜庆的日子里&#xff0c;人们互相祝福、共享快乐&#xff0c;以满怀希望的心情迎接未来的到来。新年不仅仅是一个节日&#xff0c;它背后浓厚的文化积淀和故事也让人无比着迷。让我…

【二分查找】LC习题看这一篇就够了!

二分查找&#xff08;灵神笔记&#xff09; 模版 红蓝染色法 原始问题&#xff1a;返回有序数组中第一个≥8的数的位置 如果每个数都&#xff1c;8 返回数组长度 闭区间 def lower_bound(nums: List[int], target: int) -> int:left 0right len(nums) - 1while left &…

小型洗衣机哪个好?小型洗衣机全自动推荐

在近年以来&#xff0c;由于人们对健康的认识和生活质量的不断改善&#xff0c;使得内衣洗衣机这一类的产品在近年来得到了飞速的发展&#xff0c;洗烘一体机、洗烘套装的价格总体下降&#xff0c;功能和性能都得到了改善&#xff0c;往往更多的用户会选择一台或者多台洗衣机来…

HarmonyOS ArkTS Toggle基本使用(十七)

组件提供勾选框样式、状态按钮样式及开关样式。 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅当ToggleType为Button时可包含子组件。 接口 Toggle(options: { type: ToggleType, isOn?: boolean }) …

C++ 程序使用 OpenCV 库来创建一个图像金字塔,然后将这些图像合并成一张大图

文章目录 源码文件功能解读编译文件 源码文件 #include <iostream> #include <vector> #include <string> #include <opencv2/opencv.hpp>int main() {// 这里应该有代码来生成或加载一系列图像到 imagePyramidstd::vector<cv::Mat> imagePyram…

电子行业含砷废水,深度除砷技术

砷是一种类金属元素&#xff0c;砷化物生物毒性极强&#xff0c;是国际公认的第一类致癌物。因此&#xff0c;这些含砷废水必须经过一定的处理才能排放到环境中。那么&#xff0c;哪些行业会产生含砷废水呢?在地球上&#xff0c;砷是一种常见的元素。在自然界中&#xff0c;砷…

【格密码基础】基于LWE问题的密码系统

目录 一. 介绍 二. LWE密码方案简单介绍 三. LWE经典归约 四. LWE性质 五. LWE的鲁棒性 一. 介绍 在2005年&#xff0c;Regev基于LWE问题提出了一个新的公钥密码方案。该方案可实现语义安全&#xff08;semantic security&#xff09;&#xff0c;其中误差率&#xff08;…

Google Chrome RCE漏洞 CVE-2020-6507 和 CVE-2024-0517的简单分析

本文深入研究了两个在 Google Chrome 的 V8 JavaScript 引擎中发现的漏洞&#xff0c;分别是 CVE-2020-6507 和 CVE-2024-0517。这两个漏洞都涉及 V8 引擎的堆损坏问题&#xff0c;允许远程代码执行。通过EXP HTML部分的内存操作、垃圾回收等流程方式实施利用攻击。 CVE-2020-…

256:vue+openlayers利用高德逆地理编码,点击地图,弹出某点坐标和地址信息

第256个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中利用高德逆地理编码,点击地图,弹出某点坐标和地址信息。这里要仔细阅读高德地图的逆编码API,同时要注意的是,这种转换在中国很好用,到了欧美国家就不好使了。 直接复制下面的 vue+openlayers源代码…

基于SSM的蛋糕甜品店管理系统(有报告)。Javaee项目。ssm项目。

演示视频&#xff1a; 基于SSM的蛋糕甜品店管理系统&#xff08;有报告&#xff09;。Javaee项目。ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring…

OPENMV驱动云台实现颜色追踪

前言 本篇文章旨在记录我电赛期间学习OPENMV对颜色识别&#xff0c;以及通过串口通信的方式将坐标数据传给单片机&#xff0c;从而驱动舵机云台进行颜色追踪。 一、OPENMV色块识别追踪代码 # Single Color RGB565 Blob Tracking Example # # This example shows off single co…

【Axure高保真原型】可视化环形图

今天和大家可视化环形图的原型模板&#xff0c;&#xff0c;包括4种效果&#xff0c;移入变色在环形中部显示数据、移入变色在标签弹窗显示数据、移入放大在环形中部显示数据、移入放大在标签弹窗显示数据。这个原型是用Axure原生元件制作的&#xff0c;所以不需要联网或者调用…

Centos7安装python3.7.13以及pip23.3.2

拿到机器发现只有自带的python2.X&#xff0c;但是算法cplex求解器需要用到Python3.7&#xff0c;安装过程遇到一些问题&#xff0c;记录下来&#xff1a; 如果需要卸载python3 1、卸载python3 rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps 2、 删除所有残余…

vue常用指令(v-bind)

一、v-bind 指令 作用: 设置元素的属性 &#xff08;比如:src,title,class&#xff09; 二、代码演示 1、设置元素的src 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport&quo…

C动态内存那些事

为什么存在动态内存分配&#xff1f; 首先&#xff0c;动态内存分配是计算机中一种重要的内存管理方法&#xff0c;它主要解决了静态内存分配无法灵活应对变化需求的问题。以下是几个存在动态内存分配的原因&#xff1a; 灵活性&#xff1a;动态内存分配允许程序在运行时根据需…

《WebKit 技术内幕》学习之十(4): 插件与JavaScript扩展

4 Chromium扩展机制 4.1 原理 Chromium的扩展&#xff08;Extension&#xff09;机制 (1) 原先是Chromium推出的一项技术&#xff0c;该机制能够扩展浏览器的能力&#xff0c;例如笔者使用的一个扩展实例名为“switchy proxy”&#xff0c;它可以帮助用户方便的切换Chromium…

Leetcode—29. 两数相除【中等】

2023每日刷题&#xff08;九十四&#xff09; Leetcode—29. 两数相除 叛逆期实现代码 class Solution { public:int divide(int dividend, int divisor) {if(dividend INT_MIN && divisor -1) {return INT_MAX;} return dividend / divisor;} };运行结果 倍增算法…

EG-2121CA (晶体振荡器 低抖动表面声波(SAW)振荡器)

在当今高度数字化的时代&#xff0c;稳定的信号传输显得尤为重要。若要实现信号的稳定传输&#xff0c;晶体振荡器必不可少。EG-2121CA&#xff0c;它是一款低抖动表面声波&#xff08;SAW&#xff09;振荡器设计的产品&#xff0c;凭借其出色的频率范围、稳定的电源电压和可靠…