shell循环语句 for while until

目录

什么是循环语句

概念

for循环

格式

while循环

格式

until 循环

格式

实验   for

(1)计算1到100的和

​编辑

(2)100以内的偶数 (从0开始到100结束,每次加2步  打印的都是偶数)

(3)100以内的奇数 (从1开始到100结束,每次加2步,打印的都是奇数)

(4)批量添加用户

    (4.1)批量删除用户

(5)测试网络段连通性

(6)批量将文件更改文件名

​编辑

1.打印 xyc

2.九九乘法表

​编辑

3.打印正方形

实验   while

(1)猜价小游戏

(2)计算1加到100的和

实验   until

(1)计算1加到100的和


什么是循环语句

概念

循环语句是一种在满足循环条件的情况下,反复执行某一段代码的流程结构。被反复执行的程序被称为循环体,它可以在合适的时候把循环判断条件改为false,从而结束循环,否则循环将一直执行下去,形成死循环。循环语句可以由循环体及循环的终止条件两部分组成。在实际问题中,有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句,一组被重复执行的语句称之为循环体

1.一定要有跳出循环的条件

2.已知循环次数(来十个新人  新建十个账号)

3.位置循环的次数,但是有一个跳出条件

for循环

格式

for  变量名  in  {list}

do 

     命令序列

done

循环次数列表跟你循环次数有关

循环列表有6个值  那么就循环6次

循环列表表现形式

while循环

格式

while 判断条件 条件成立 继续

                         条件不成立    跳出循环

do 

命令序列

done

while循环一般用于有条件判断的循环,

若判断条件为真,则进入循环,

当条件为假就跳出循环

until 循环

格式

until 条件测试操作

do

命令序列

done

until 循环与 while 循环类似,

while 循环能实现的脚本 until 同样也可以实现,

但区别是while 循环在条件为真是继续执行循环,

而 until 则是在条件为假时执行循环

实验   for

(1)计算1到100的和

sum=0;
i=0;
for i in {1..100};
do
sum=$[sum+i];
done;
echo $sum

(2)100以内的偶数 (从0开始到100结束,每次加2步  打印的都是偶数)

echo {0..100..2}

(3)100以内的奇数 (从1开始到100结束,每次加2步,打印的都是奇数)

echo {1..100..2}

(4)批量添加用户

#!/bin/bashfor i in `cat /qqq/name1.txt`
do
id $i &>/dev/null
if
[ $? -eq 0 ]
then
echo "$i 已存在 "
continue
fi
useradd $i
echo 123 |passwd $i --stdin
done

    (4.1)批量删除用户

#!/bin/bashfor i in `cat /qqq/name1.txt`
do
id $i &>/dev/null
if
[ $? -eq 1 ]
then
echo "$i 已删除 "
fi
userdel -r $i
done

(5)测试网络段连通性

#!/bin/bash
ip=192.168.17.for i in {1..254}do
{
ping  -c1 -W1 ${ip}${i} &>/dev/null
if [ $? -eq 0 ]   
then
echo ${ip}${i} >> /qqq/hoston    #可以ping通的放到hoston文件里
else
echo ${ip}$i  >> /qqq/hostoff    #不可以ping通的放到hostoff文件里fi
} &    #放入后台执行
done

(6)批量将文件更改文件名

#!/bin/bashfor i in `cat /qqq/xxx.txt`
do
touch $i     #将xxx.txt的文件独立出来
donefor i in *.JPG
do
p=`echo $i |cut -d"_" -f1`   #以_分割将_前面的提出来
n=`echo $i |cut -d"_" -f2`   #以_分割将_后面的提出来
mv $i ${n}_${p}.JPG  #重命名done

1.打印 xyc

#!/bin/bash
for i  in {1..10}
do
echo -e " xyc "
done

2.九九乘法表

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

3.打印正方形

#!/bin/bash
for j in {1..10}
do
for i  in {1..10}
do
echo -e " * \c"    ###\c换行
done
echo        ###换行
done 

实验   while

(1)猜价小游戏

#!/bin/bashm=`echo $[RANDOM%1000+1]`
t=0
special_char="*"
echo "This is $special_char"
while true
do
read -p "请输入猜的价格(1-1000内的整数):" h
let t++
if [ $h -eq $m ]
then
echo "你猜对了 商品价格是 $h 你一共猜了 $t 次"
exit
elif [ $h -gt $m ]
then
echo "你猜高了"
elseecho "你猜低了"fi
done

(2)计算1加到100的和

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

实验   until

(1)计算1加到100的和

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

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

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

相关文章

java学习part08权限

1.权限表格 外部类都是公有和缺省,因为其他两种对于外部类没有意义 一些内部成分都各种权限都可以 2.如何体现java封装性 答,通过权限控制,保证哪些可以给人看到,哪些不能

玻色量子“揭秘”之集合划分问题与QUBO建模

摘要:集合划分问题(Set Partitioning Problem)是一种组合优化问题,其中给定一个集合S和其若干个不同的子集S1,S2,...,Sn后,需要找到子集的有效组合,使得集合S的每个元素正…

基于YOLO模型建筑工地个人防护设备目标检测

使用安全装备可以保护他们免受建筑工地的意外事故。据统计,每年有数以万计的工人在建筑工地受到严重伤害,造成终生困难。然而,通过自我监控来确保工人穿戴个人防护装备非常重要。在这方面,需要一个准确和快速的系统来检测工人是否…

如何弱化市场大环境带来的影响?私域电商和裂变营销引来新趋势!

弱化市场大环境带来的影响需要从多个方面入手,包括深入了解市场和行业、建立品牌优势、多元化经营、优化供应链管理、加强客户关系管理、灵活应对市场变化等。同时需要注意不同领域和行业的市场变化和政策调整,及时调整经营策略和业务结构,保…

腾讯又出王炸产品!使用混元大模型进行数据报表测试

最近腾讯出了自己的大模型,命名混元。 现在已经开始内测,感谢腾讯小伙伴卢晓明同学帮我们提前申请到了内测机会,接下来我们用腾讯混元大模型与实际工作结合,开始我的报表测试之旅。 腾讯混元大模型官方入口:https://hunyuan.ten…

Raptor安装

Raptor官网:https://raptor.martincarlisle.com/ 进入官网后,下拉找到 Download RAPTOR,windows系统的选择Windows Users 下载完成后打开,选择“next” 修改一下路径,不要放到C: 继续next 完结撒花

小白也看的懂的爬取视频操作

1.获取一段视频 可以直接从抖音下,也可以从b站上爬取(注意法律谢谢) 保护原创 b站的视频 直接复制网址链接到哔哩哔哩(bilibili)视频解析下载 - 保存B站视频到手机、电脑 去就好了,

数据中心运维管理:从人工到智能需要走几步?

一切的变化来自于数据中心规模、复杂度、设备多样性的挑战,将运维平台的重要性推向历史高点。 此外,基于业务连续性方面的考虑,分布式数据中心成为越来越多客户的选择。 一、数据中心面临的挑战 运维管理分散,缺乏统一的管理 I…

杨氏矩阵解法

每日一言 「 人生如逆旅,我亦是行人。 」--临江仙送钱穆父-苏轼题目 杨氏矩阵 有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 解法思路 法一:…

【数据结构】深入浅出理解链表中二级指针的应用

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 (注:为方便演示本篇使用的x86系统,因此指针的大小为4个字节) 目录 📌形参的改变不影响实参! 1.调用函数更改整型时传值调用与传址调用的区别 🎏传值…

开店必看!又有新变化?一文读懂2024亚马逊卖家入驻要求和流程

亚马逊2024年新卖家入驻正在火热进行中,想加入亚马逊卖家行列的小伙伴们准备好了吗?9月20日,亚马逊官方宣布2024年新卖家入驻正式开启,又一年招商季来临,东哥还了解到2024年亚马逊卖家注册要求有了一点新变化&#xff…

获取ip属地(ip2region本地离线包-超简单)

背景 最近有涉及要显示ip属地,但我想白嫖,结果就是白嫖的api接口太慢了,要延迟3到4秒左右,很影响体验,而且不一定稳定。 结果突然看到了这个【ip2region】开源项目,离线识别ip属地,精度自己测…