当前位置: 首页 > news >正文

shell 6 if条件判断与for循环结构 (泷羽sec)

声明

学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。

笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负

这节课旨在扩大自己在网络安全方面的知识面,了解网络安全领域的见闻,了解学习哪些知识对于我们渗透测试有帮助,避免盲目地学习降低效率。

B站超链接:shell(6)if条件判断与for循环结构_哔哩哔哩_bilibili

———————————————————————————————————————————

if条件判断

#定义变量
a=10
b=10#进行条件判断
if [ "$a" -eq "$b" ] ; thenecho "a=b"
elif [ "$a" -gt "$b" ] ; thenecho "a>b"
elseecho "没有符合上述条件"
fi

定义变量

这部分定义了两个变量a和b、并分别给他们赋予了值 (a=10,b=10

在bash脚本中,通过这种简单的"变量名=值"的形式就可以完成变量的定义和赋值操作

条件判断

首先指定使用bash作为脚本解释器

接着定义两个变量 a为10,b为10

通过条件判断来比较a和b的值:

若a等于b,则输出“a=b”

若a大于b,则输出“a>b”

若两种情况都不成立,则输出“没有符合上述条件”

a=b

a>b

都不满足

#定义变量
a=10
b=20#进行条件判断
if [ "$a" -eq "$b" ] ; thenecho "a=b"
elif [ "$a" -gt "$b" ] ; thenecho "a>b"
elif [ "$a" -lt "$b" ] ; thenecho "a<b"
elseecho "没有符合上述条件"
fi

在原有的 if - elif -else 结构基础上,新增了一个alif条件判断分支:

新增条件判断语句为elif [ "$a" -lt "$b" ] ; then

其目的是判断变量a的值是否小于变量b的值。如果满足该条件,就会执行后续的echo "a<b"语句,即输出 a<b

elif

用于在多个条件分支中进行条件判断。

它可以在一个 if 语句中嵌套多个条件,每个条件后面可以跟一个 then 代码块如果第一个条件不满足,脚本会继续检查 elif 后面的条件,直到找到一个满足的条件或者到达 else 部分

for循环结构

代码一

整体结构

这是一段用于for循环的代码片段,常见于shell脚本(如bash脚本)中,用于对一系列的值进行迭代操作

循环语句

  • for num in 1 2 3 4 5
  • for:是循环的关键字,用于开启一个for循环结构
  • num:定义了一个循环变量,在每次循环迭代过程中,这个变量会被赋予不同的值
  • in 1 2 3 4 5:指定了一个值的列表。循环变量num将会依次取这个列表中的每一个值。

也就是说,在这个例子中,num会先被赋值为1,然后进行第一次循环,接着num会被赋值为2,进行第二次循环,依此类推,知道num取完列表中的最后一个值5

循环体

do:是与for循环起始语句配合使用的关键字,它标志着循环体的开始。

在do和后面的done之间的语句就是每次循环时需要执行的操作

输出语句

echo "The number is $num"

echo:是一个用于在终端输出信息的命令

"The number is $num":这是一个要输出的字符串,其中$num是对前面定义的循环变量num的引用。

当循环结束时,每次num被赋予不同的值、这里就会输出不同的结果

例如。当num被赋值为1时,就会输出"The number is 1"

当num被赋值为2时,就会输出"The number is 2"

依此类推

循环结束

done:是for循环的结束关键字,他标志着整个for循环过程结束

这段代码的功能就是遍历给定的的数字列表 1、2、3、4、5,并在每次遍历到一个数字时,通过echo命令输出包含该数字的字符串信息,如"The number is 1"、"The number is 2"等

代码二

循环语句

  • for str in "hello wold":
  • for:这是循环的关键字,用于启动一个for循环结构
  • str:定义了一个循环变量,在循环过程中,这个变量会被赋予不同的值
  • "hello wold":这里指定了一个值的列表,不过在这个例子中,列表里只有一个元素,就是字符串"hello wold".所以在整个循环过程中,循环变量str只会被赋值这一次,也就是取到的值为"hello wold"

循环体与输出语句

  • do:是与for循环起始语句配合使用的关键字,它标志着循环体的开始。
  • 在do和后面的done之间的语句就是每次循环时需要执行的操作

echo $str:

  • echo:用于在终端输出信息的命令
  • $str:是对前面定义的循环变量str的引用。由于在这个循环中,str只被赋值为"hello wold",所以当执行 echo $str 时,就会在终端输出 "hello wold"

循环结束

  • done:是for循环的结束关键字,他标志着整个for循环过程结束

这段代码的功能就是将字符串"hello wold"赋值给循环变量str,然后通过echo命令将其输出到终端

只有实操之后才能更快的理解

相关文章:

shell 6 if条件判断与for循环结构 (泷羽sec)

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章。 笔记只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 这节课旨在扩大自己在网络安全方面的知识面&#xff0c;了解网络安全领域的见闻&#xff0c;了…...

MetaGPT 安装

1. 创建环境 conda create -n metagpt python3.10 && conda activate metagpt2. 可编辑方式安装 git clone --depth 1 https://github.com/geekan/MetaGPT.git cd MetaGPT pip install -e .3. 配置 metagpt --init-config运行命令&#xff0c;在C盘位置C:\Users\325…...

论文阅读:Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris

The Tabula Muris Consortium., Overall coordination., Logistical coordination. et al. Single-cell transcriptomics of 20 mouse organs creates a Tabula Muris. Nature 562, 367–372 (2018). 论文地址&#xff1a;https://doi.org/10.1038/s41586-018-0590-4 代码地址…...

图生3d 图生全景 学习笔记

目录 instantsplat Aluciddreamer ZoeDepth 会自动下载模型&#xff1a; 图生全景图SD-T2I-360PanoImage&#xff1a; instantsplat Sparse-view SfM-free Gaussian Splatting in Seconds 稀疏视图无SfM高斯喷洒 GitHub - NVlabs/InstantSplat: InstantSplat: Sparse-vi…...

分库分表—4.数据迁移系统文档

大纲 1.数据库设计 2.枚举类 3.接⼝设计 4.定时任务设计 (1)定时核对校验数据的定时任务 (2)数据量统计定时任务 (3)增量数据落地定时任务 (4)失败重试定时任务 5.技术亮点 (1)滚动拉取方案 (2)巧妙的统计滚动进度方案 (3)防止增量同步数据丢失和高效写入方案 (4)…...

HAMR技术进入云存储市场!

2024年12月3日&#xff0c;Seagate宣布其Mozaic 3系列HAMR&#xff08;热辅助磁记录&#xff09;硬盘获得了来自一家领先云服务提供商&#xff08;可能AWS、Azure或Google Cloud其中之一&#xff09;以及其他高容量硬盘客户的资格认证。 Seagate的Mozaic 3技术通过引入热辅助磁…...

Vulnhub---kioptirx5 超详细wp

个人博客 WuTongSec 欢迎大佬指点 打点 nmap 192.168.128.0/24 -sP 找ip nmap 192.168.128.137 --min-rate 10000 -p- 简单全端口扫描 nmap 192.168.128.137 -sC -sV -O -sT 详细 脚本 版本 系统 扫描 dirsearch -u http://192.168.128.137 目录扫描 PORT S…...

单片机状态机实现多个按键同时检测单击、多击、长按等操作

1.背景 在之前有个项目需要一个或多个按键检测&#xff1a;单击、双击、长按等操作 于是写了一份基于状态机的按键检测&#xff0c;分享一下思路 2.实现效果 单击翻转绿灯电平 双击翻转红灯电平 长按反转红绿灯电平 实现状态机检测按键单击&#xff0c;双击&#xff0c;长…...

oracle之用户的相关操作

&#xff08;1&#xff09;创建用户(sys用户下操作) 简单创建用户如下&#xff1a; CREATE USER username IDENTIFIED BY password; 如果需要自定义更多的信息&#xff0c;如用户使用的表空间等&#xff0c;可以使用如下&#xff1a; CREATE USER mall IDENTIFIED BY 12345…...

黑马redis

Redis的多IO线程只是用来处理网络请求的,对于读写操作命令Redis仍然使用单线程来处理 Redisson分布式锁实现15问 文章目录 主线程和IO线程是如何协作的Unix网络编程中的五种IO模型Linux世界一切皆文件生产上限制keys *、flushdb、flushall等危险命令keys * 遍历查询100W数据花…...

HCIA-Access V2.5_1_2 PON技术的特点、优势与典型应用

PON接入技术优势 它的接入方式有两种&#xff0c;点到点光接入和点到多点光接入。 点到点 PON口的资源被一个用户独占&#xff0c;该用户可以享受到更好的带宽体验&#xff0c;同时故障好排查&#xff0c;出现问题&#xff0c;重点检测这一条链路以及终端用户&#xff0c;同…...

css部分

前面我们学习了HTML&#xff0c;但是HTML仅仅只是做数据的显示&#xff0c;页面的样式比较简陋&#xff0c;用户体验度不高&#xff0c;所以需要通过CSS来完成对页面的修饰&#xff0c;CSS就是页面的装饰者&#xff0c;给页面化妆&#xff0c;让它更好看。 1 层叠样式表&#…...

【TCP 网络通信(发送端 + 接收端)实例 —— Python】

TCP 网络通信&#xff08;发送端 接收端&#xff09;实例 —— Python 1. 引言2. 创建 TCP 服务器&#xff08;接收端&#xff09;2.1 代码示例&#xff1a;TCP 服务器2.2 代码解释&#xff1a; 3. 创建 TCP 客户端&#xff08;发送端&#xff09;3.1 代码示例&#xff1a;TCP…...

LSTM+改进的itransformer时间序列预测模型代码

代码在最后 本次设计了一个LSTM基于差分多头注意力机制的改进的iTransformer时间序列预测模型结合了LSTM&#xff08;长短期记忆网络&#xff09;和改进版的iTransformer&#xff08;差分多头注意力机制&#xff09;&#xff0c;具备以下优势&#xff1a; 时序特征建模能力&am…...

Apache-HertzBeat 开源监控默认口令登录

0x01 产品描述: HertzBeat(赫兹跳动) 是一个开源实时监控系统,无需Agent,性能集群,兼容Prometheus,自定义监控和状态页构建能力。HertzBeat 的强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速构建自有监控系统。0x02 漏洞描述: HertzBeat(赫兹跳动) 开源实时…...

Delete Number

翻译&#xff1a; 主要思路解释 整体思路概述&#xff1a; 本题的目标是给定整数&#xff08;要删除的数字个数&#xff09;和整数&#xff08;以字符串形式表示的数字&#xff09;&#xff0c;通过合理删除个数字&#xff0c;使得最终得到的新数字最小。程序采用了一种贪心算…...

Linux常用快捷键

目录 ​编辑 剪切/复制/粘贴/删除等快捷键 终端及标签页快捷键 历史命令快捷键 移动光标快捷键 控制命令 剪切/复制/粘贴/删除等快捷键 快捷键 功能 ShiftCtrlC 复制 ShiftCtrlV 粘贴 CtrlInsert 复制命令行内容 ShiftInsert 粘贴命令行内容 Ctrlk 剪切&#…...

针对xpath局限的解决方案

上篇《网页数据提取利器 -- Xpath》我们对xpath的介绍中提到了xpath的几点局限性&#xff1a; 结构依赖性强性能动态网页支持不足 本篇是针对这些局限提出的解决方案和补充方法&#xff0c;以提升 XPath 的实用性和适应性。 1. 动态网页的处理 局限&#xff1a; XPath 无法…...

深入解析 HTML Input 元素:构建交互性表单的核心

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

ffmpeg转码与加水印

文章目录 转码 与加水印引入jar包代码ffmpeg安装错误解决方法 转码 与加水印 引入jar包 <dependency><groupId>net.bramp.ffmpeg</groupId><artifactId>ffmpeg</artifactId><version>0.6.2</version></dependency>代码 impo…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例

一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...