shell脚本三
目录
一、循环语句
一、循环
二、for循环语句
1.列表循环
2.与c语言循环相似的for循环
3.使用for打印三角形以及乘法表
4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中
三、while循环语句
四、until循环语句
总结:本章主要介绍了shell的循环语句和用法
一、循环语句
一、循环
循环含义
将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件
重复运行次数
循环一定要有跳出循环的条件
1.已知循环的次数
2.未知循环的次数但是有一个跳出条件
常见的循环的命令:for, while, until
二、for循环语句
1.列表循环
for [变量名] in {列表}
do
命令
done
例:
用for循环写出1+2+...+100的和
#!/bin/bash
m=0
for i in {1..100}
do
m=$[m+i]
done
echo $m


2.与c语言循环相似的for循环
例:
用for循环写出1+2+...+100的和
#!/bin/bash
m=0
for ((i=1;i<=100;i++))
do
m=$[i+m]
done
echo "$m"


3.使用for打印三角形以及乘法表
1.打印三角形
#!/bin/bash
for i in {1..10}
dofor j in `seq $i`doecho -e "*\c"done
echo
done


2.打印乘法表


4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中
#!/bin/bash
m=172.16.114.
for ((i=1;i<=254;i++))
do
{
ping -c1 -W1 ${m}${i} &>/dev/null
if [ $? -eq 0 ]
then
echo ${m}${i} >> /opt/data/hoston
else
echo ${m}${i} >> /opt/data/hostoff
fi
} &
done


5.文件改后缀名
#!/bin/bash
for i in *.txt
do
pr=`echo $i |cut -d "." -f1`
mv $i ${pr}.bak
done
echo "改名成功"



三、while循环语句
相对于for,需要知道循环次数
我们只知道停止条件,不知道次数,就需要使用while
直到达到条件
while循环
1、语法结构
2、死循环
while循环一般用于有条件判断的循环,若判断条件为真,则进入循环,当条件为假就跳出循环
while [判断条件]
do
命令序列
done
死循环:
while true 和[ 1 -eq 1 ]
例子1:
猜价格
#!/bin/bash
m=`echo $[RANDOM%1000+1]`
t=0
while true
do
read -p "请输入价格(范围是1000以内的正整数):" h
let t++if [ $h -eq $m ]thenecho "你猜对了 价格是$h 你猜的次数为$t"exitelif [ $h -gt $m ]thenecho "你猜的价格高了"elseecho "你猜的价格低了"fi
done


例子2:
批量建立用户
#!/bin/bash
i=0
while [ "${i}" -le 3 ]
do
useradd l${i}
echo "123456" |passwd --stdin l${i} &>/dev/null
if [ $? -eq 0 ]
then
echo "用户 l${i} 已被建立"
else
echo "用户 l${i} 建立失败"
fi
let i++
done


例子3:
批量建立用户
#!/bin/bash
i=0
while [ "${i}" -le 3 ]
do
userdel -r l${i}
if [ $? -eq 0 ]
then
echo "用户 l${i} 已被删除"
else
echo "用户 l${i} 删除失败"
fi
let i++
done


四、until循环语句
until 循环与 while 循环类似,while 循环能实现的脚本 until 同样也可以实现,但区别是while 循环在条件为真是继续执行循环,而 until 则是在条件为假时执行循环
until [判断条件]
do
命令序列
done
例子1:
求和
#!/bin/bash
i=0
sum=0
until [ $i -gt 100 ]
do
sum=$[i+sum]
let i++
done
echo "$sum"


总结:本章主要介绍了shell的循环语句和用法
相关文章:
shell脚本三
目录 一、循环语句 一、循环 二、for循环语句 1.列表循环 2.与c语言循环相似的for循环 3.使用for打印三角形以及乘法表 4.测试172.16.114.0网段存活的主机并将存活的主机IP地址写入文件中,未存活的主机放入另一文件中 三、while循环语句 四、until循环语句…...
地埋式积水监测仪厂家直销推荐,致力于积水监测
地埋式积水监测仪是一种高科技设备,能够实时监测地面积水深度,并及时发出预警信息,有效避免因积水而产生的安全隐患。这种智能监测仪可以安装在城市道路、立交桥、地下车库等易积水地势较低的地方,以确保及时监测特殊地段的积水&a…...
CentOS7安装部署Kafka with KRaft
文章目录 CentOS7安装部署Kafka with KRaft一、前言1.简介2.架构3.环境 二、正文1.部署服务器2.基础环境1)主机名2)Hosts文件3)关闭防火墙4)JDK 安装部署 3.单机部署1)下载软件包2)修改配置文件3࿰…...
Java,数据结构与集合源码,关于Map接口的实现类(HashMap、LinkedHashMap)
HashMap中的元素的特点: HashMap中的所有key之间是不可重复的、无序的。所有的key构成一个Set集合。 HashMap中的所有的value彼此之间是可重复的、无序的。所有的value构成一个Collection集合。 HashMap中的一对key-value,就构成了一个entry。Map中的ent…...
【GUI】-- 13 贪吃蛇小游戏之食物及成绩判断
GUI编程 04 贪吃蛇小游戏 4.4 第四步:食物及成绩判断 首先,添加食物与分数的数据定义: //食物的坐标int foodX;int foodY;Random random new Random();//积分面板数据结构int score;在初始化方法中,添加(画出)食物与分数&…...
洗地机哪个牌子好用?洗地机选购攻略
传统的清洁方式都是扫把拖把的结合,既繁琐也劳累,每次清洁完后还得累的腰酸背痛的,像厨房这种地方甚至会不容易清洁干净,总感觉地板灰蒙蒙的。洗地机的诞生就很好的解决了这些问题,不用一遍遍的重复扫地拖地擦地&#…...
节能灯和led灯哪个更护眼?精选高品质的LED护眼台灯
节能灯和LED灯相比,我认为LED灯会更加护眼一些,不过想要更护眼建议选择LED的护眼台灯会更好! 大家都知道光亮对于我们来说是非常重要的,尤其是夜晚的时候,往往要借助一些灯具来提供充足的照明。对于孩子而言࿰…...
大数据管家 DataSophon 1.2介绍
DataSophon 1.2...
vue实现爱心形状的复选框
目录 HTML代码: CSS代码: Vue代码: 这个例子使用了CSS来创建一个爱心形状的复选框,并使用Vue来控制其选中状态。点击复选框时,将调用toggleChecked方法来切换checked属性的值,以控制复选框的状态。 以下…...
珠江啤酒坚持创新,“酿”造电子化采购平台
珠江啤酒 广州珠江啤酒股份有限公司(简称“珠江啤酒”)是一家以啤酒酿造产业和啤酒文化产业“双主业”协同发展、包装产业配套发展的大型现代化国有控股企业。2010年,在深交所上市,下属企业16家,其中啤酒企业12家&…...
数据仓库模式之详解 Inmon 和 Kimball
目录 一、前言 二、企业信息工厂(Inmon) 2.1 概念 2.2 主要组件 2.3 流程 三、多维数据仓库(Kimball) 3.1 概念 3.2 核心组件 3.3 流程 四、异同及用途对比 4.1 异同对比 4.2 特征比较 一、前言 大部分关于数据仓库构建…...
斐波那契数列数列系列问题详解
斐波那契数列数列是我们学习递归的入门问题,是一种非常经典的题型,也衍生出了一些更复杂的题型,这一节就让我们彻底理解斐波那契数列系列问题。 一、概念介绍 1、什么是斐波那契数列? 斐波那契数列(Fibonacci sequenc…...
Day38力扣打卡
打卡记录 网格中的最小路径代价(动态规划) 链接 class Solution:def minPathCost(self, grid: List[List[int]], moveCost: List[List[int]]) -> int:m, n len(grid), len(grid[0])f [[0x3f3f3f3f3f] * n for _ in range(m)]f[0] grid[0]for i i…...
【C语言:深入理解指针二】
文章目录 1. 二级指针2. 指针数组3. 字符指针变量4. 数组指针变量5. 二维数组传参的本质6. 函数指针变量7. 函数指针数组8. 转移表9. 回调函数10. qsort函数的使用与模拟实现 1. 二级指针 我们知道,指针变量也是变量,它也有自己的地址,使用什…...
前端实现表格生成序号001、002、003自增
我们最终想要实现的效果如图,从后端获取数据之后,不使用data中的id,而是使用自己生成的按照顺序自增的序号id。 script <template><el-table :data"sticker" border style"width: 100%" id"stickerList&q…...
【Django-01】 视图函数和视图类
视图函数 作用详解视图函数的特点视图类实际开发怎么用一个无意义的demo 作用 用于返回给前端数据详解 def list(request):"""1.普通的视图函数 request是HttpRequest 函数2.且必须用request.GET|request.POST 指定方法是什么方法3.返回值不能用 rest_framewor…...
编译安装报错:configure: error: cannot guess build type; you must specify one
1、编译安装报错 configure: error: cannot guess build type; you must specify one 该报错信息翻过过来的意思是:无法猜测编译 操作系统类型,请指定一个 2、解决方法 在原本的编译安装语句后面加上一句: “--buildarm-linux ” ,这句话…...
2311rust,到66版本更新
1.60.0稳定版 基于源码的代码覆盖率 rustc中已稳定支持基于LLVM的覆盖率检测.可用-Cinstrument-coverage重构代码,如: RUSTFLAGS"-C instrument-coverage" cargo build之后,运行生成的二进制文件,它在当前目录中生成一个default.profraw文件.环境变量可覆盖路径和…...
JOSEF约瑟 过电流继电器 JL15-300/11 触点形式一开一闭 板前接线
系列型号 JL15-1.5/11电流继电器JL15-2.5/11电流继电器 JL15-5/11电流继电器JL15-10/11电流继电器 JL15-15/11电流继电器JL15-20/11电流继电器 JL15-30/11电流继电器JL15-40/11电流继电器 JL15-60/11电流继电器JL15-80/11电流继电器 JL15-100/11电流继电器JL15-150/11电流继电…...
postman设置接口关联这样做,薪资直接涨3k
postman设置接口关联 在实际的接口测试中,后一个接口经常需要用到前一个接口返回的结果, 从而让后一个接口能正常执行,这个过程的实现称为关联。 在postman中实现关联操作的步骤如下: 1、利用postman获取上一个接口指定的返回值…...
IDM试用重置工具:告别30天限制的智能解决方案
IDM试用重置工具:告别30天限制的智能解决方案 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 你是否曾经遇到过这样的情况:正在下载重要文件时,ID…...
RTranslator模型下载快速指南:5分钟搞定离线翻译模型部署
RTranslator模型下载快速指南:5分钟搞定离线翻译模型部署 【免费下载链接】RTranslator Open source real-time translation app for Android that runs locally 项目地址: https://gitcode.com/GitHub_Trending/rt/RTranslator 还在为RTranslator首次启动时…...
2026 RPA 行业趋势:不再拼界面自动化,拼企业级场景落地
很多人以前对RPA的理解,其实非常简单:“流程脚本工具”。但AI Agent开始落地后,企业很快发现:RPA从过去的“自动化工具”,逐渐变成:AI Agent的执行基础。而这一轮行业重构里,领先的厂商都有一个…...
解决poi-tl合并Word时遇到的‘xsi前缀未绑定’报错:一个命名空间引发的血案
深入解析poi-tl合并Word文档时的XML命名空间陷阱 当你使用poi-tl库合并Word文档时,突然遇到"xsi前缀未绑定"的错误提示,这背后隐藏着Office Open XML(OOXML)格式的深层机制。这个看似简单的错误实际上揭示了Word文档内部XML结构的复杂性&#…...
告别低效业务开发,大模型赋能程序员高效办公
文章目录 前言一、醒醒!2026年了,你还在靠堆时间写CRUD内卷?1.1 扎心现实:传统业务开发,正在陷入“越忙越穷”的死循环1.2 90%的程序员,都用错了大模型1.3 真相:大模型不是来抢饭碗的࿰…...
从零到上架:用Fyne v2.3.5给你的Go项目加个酷炫的图形界面(Mac/Linux/Windows全平台指南)
从零到上架:用Fyne v2.3.5给你的Go项目加个酷炫的图形界面(Mac/Linux/Windows全平台指南) 如果你已经掌握了Go语言的基础,但厌倦了命令行工具的单调输出,或者想为你的后台服务添加一个用户友好的交互界面,…...
3步实现Android手机USB网络共享:Mac用户的终极网络解决方案
3步实现Android手机USB网络共享:Mac用户的终极网络解决方案 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS 在移动办公成为常态的今天,稳定的网络连接是工作效率的关…...
微服务架构下的测试策略全景图
随着企业数字化转型进程的加速,微服务架构以其高内聚、松耦合、独立部署和弹性伸缩的优势,已成为构建现代复杂软件系统的主流选择。然而,这种将单体应用拆分为一系列自治、细粒度服务的分布式模式,在赋予开发敏捷性的同时…...
LLM 上下文管理:技巧与优化
LLM 上下文管理:技巧与优化 核心原理 上下文管理的基本概念 LLM(大型语言模型)的上下文管理是指在与模型交互过程中,有效管理输入上下文的长度、质量和结构,以获得最佳的模型输出。其核心作用包括: 信息…...
如何在Mac上轻松运行Windows应用:Whisky完整指南与实战教程
如何在Mac上轻松运行Windows应用:Whisky完整指南与实战教程 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 你是否曾经因为某些软件只有Windows版本而感到困扰࿱…...
