泷羽sec----shell编程(7)

news/2024/11/22 15:08:16/

声明!
学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页B站泷羽sec

for循环

前言

前面已经说过for循环的结构,这里直接讲述其实际运用

实操

循环1-100的数字

for i in `seq 1 10`
doecho $i
done
反引号有执行命令的效果,这里是生成1-10的序列
下面与前面一样
for i in $(seq 1 10)
doecho $i
done
前面说过seq不能使用sh解释了,因为不支持

在这里插入图片描述

在这里插入图片描述

上面是生成的形式,这里可以有其他写法

for ((i=1; i<10;i++))
doecho $i
done
这种写法类似于c语言中的条件判断,不过就是没有那么多()
i=1是初始值
i<10是循环的判断
这里的i++是步长,可以设置更高
i++与其他语言中类似是指 i=i+1的样子

在这里插入图片描述

注意的是,这里的循环判断与if判断是有区别的。
可以看到循环判断是数字时,可以使用<>
但是if判断中的数字比较,使用-lt-gt-eq

(())可用于算数运算和逻辑判断

或者可以使用(()),可以通过这个在里面使用><进行判断

当然这里的条件判断也可以是从大到小的
如i=9初始值,当i>0的时候执行循环,也是可以遍历的,只是顺序是反的

在这里插入图片描述

while循环

前言

for循环有其好处,但是while循环在一些场景下的效果比for循环要好

实操

i=1					//初始值
while (($i<=10))		//循环判断
doecho $i			((i++))			//使用(())进行自增,如果没有变化,就会死循环
donei=1
while (($i<=10))
doecho $ilet "i++"		done//这里曾经说过,let可以定义变量,这里也是对i进行一个自增,也是相当于赋值一样

在这里插入图片描述

在这里插入图片描述

另外,在进行输出的时候,位置不同,结果也是不同的

在循环体中的输出是在每一次遍历都输出

而在循环结束处输出是输出最终的结果的

在这里插入图片描述


http://www.ppmy.cn/news/1549065.html

相关文章

逆向攻防世界CTF系列40-ReverseMe-120

逆向攻防世界CTF系列40-ReverseMe-120 直接定位到关键函数 int __cdecl main(int argc, const char **argv, const char **envp) {unsigned int v3; // edxunsigned int v4; // ecx__m128i si128; // xmm1unsigned int v6; // esiconst __m128i *v7; // eax__m128i v8; // xm…

Java在移动端小程序开发中的性能优化研究

Java在移动端小程序开发中的性能优化研究 第一章 绪论 1.1 研究背景及意义 随着移动互联网的快速发展,移动端小程序以其即点即用的便捷性和轻量级特性,迅速成为用户获取服务的首选方式。在此背景下,研究Java在移动端小程序开发中的性能优化,对于提升用户体验、减少资源消…

Altium Designer学习笔记 11-15 异性元件库创建_原理图绘制

基于Altium Designer 23学习版&#xff0c;四层板智能小车PCB 更多AD学习笔记&#xff1a;Altium Designer学习笔记 1-5 工程创建_元件库创建Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制 11、Value值的核对 原理图中还有器件的位号没有编好&#xff0c;实现位号的…

51单片机之串口通讯

1.串口简介 串口&#xff0c;全称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是一种常用于电子设备间通讯的全双工扩展接口。 串口通讯的技术基础&#xff0c;指一位一位地按顺序传送数据。其特点是线路简单&#xff0c;只需一对传输线&…

【Python】【持续项目】Python-安全项目搜集

1、前言 Python发展以来&#xff0c;除了web安全方向&#xff0c;二进制方向也早已经积累有很多用Python写的项目。作为搜集者当然不能错过&#xff01; 2、项目分类 安全编程 多功能Python键盘记录工具&#xff1a;Radium   项目地址&#xff1a;GitHub - mehulj94/Radium:…

【Mac】卸载JAVA、jdk

1. 通过终端执行 /usr/libexec/java_home -V 查找jdk的版本和位置&#xff0c;这里找到jdk文件的名字&#xff08;我是jdk-23.jdk 第4步会用到&#xff09; yyzccnn-mac ~ % /usr/libexec/java_home -V Matching Java Virtual Machines (1):23.0.1 (arm64) "Oracle Corpo…

大数据-227 离线数仓 - Flume 自定义拦截器(续接上节) 采集启动日志和事件日志

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…

Redis Pipeline 管道 ✨

✨探索Redis Pipeline 管道✨ Redis Pipeline 管道批量处理&#xff1a;谨防传输命令过多 在 Redis 操作中&#xff0c;Redis Pipeline 管道批量处理是个很实用的功能&#xff0c;但使用时需格外留意&#xff0c;不要在一次批处理中传输太多命令&#xff0c;下面来详细说说原因…