声明!
学习视频来自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进行一个自增,也是相当于赋值一样
另外,在进行输出的时候,位置不同,结果也是不同的
在循环体中的输出是在每一次遍历都输出
而在循环结束处输出是输出最终的结果的