shell(7) for循环与while循环

声明
学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。


1.for循环

例子1

#! /bin/bash

for i in `seq 1 100` #是反引号
do
        echo $i
done

for i in `seq 1 100`

seq 1 100 是一个命令,它会生成一个从 1 到 100 的数字序列。seq 命令的作用是根据给定的参数输出一个连续的数字序列。通过反引号` 包裹住 seq 1 100 ,表示将seq 命令的输出结果作为 for 循环的列表项,也就是说,$i 会依次取得从 1 到 100 的值。

例子2


#! /bin/bash

for i in $(seq 1 100)
do 
        echo $i
done
      

for i in $(seq 1 100)
$(...) 是命令替换的语法,它会运行seq 1 100命令并将输出结果传递给 for 循环。两个例子实现的功能一样。

例子3

#! /bin/bash

for ((i=1; i<101; i++))
do 
        echo $i
done

for ((i=1; i<101; i++))

for ((...)) 是 Bash 中的一种 C 风格的 for 循环,语法结构类似于 C 语言中的 for 循环。这种方法和前面实现功能一样,但更直接,通常在 Bash 脚本中也会更常用。

2.while循环

#! /bin/bash

i=1
while(($i<=10))
do
        echo $i
        ((i++))
done

该代码利用while循环实现从1到10的输出
i=1是初始变量,while (( $i <= 10 ))while 关键字表示进入循环,循环条件是 (( $i <= 10 )),这是一个算术比较,判断变量 i 是否小于或等于 10。(( ... )) 是 Bash 中的算术扩展,表示数学运算。
dodone表示循环的开始和结束,((i++)) 是 Bash 中的算术增量操作。它会将变量 i 的值增加 1。

例子2

#! /bin/bash

i=1
while(($i<=10))
do
        echo $i
        let "i++"
done

和上面的区别只在let "i++",let 是 Bash 中用来执行算术操作的命令。let "i++" 会让 i 自增 1,相当于 i = i + 1 或者 ((i++))。

例子3

#! /bin/bash

i=100
while(($i>=10))
do
        echo $i
        ((i++))
done

这是死循环,因为i始终大于10,所以会一直循环下去。

例子4


这个脚本会打印 100,然后停止循环。因为 while 循环的条件是 i <= 100,而在第一次循环后,i 被加 1 变为 101,导致循环条件不再成立,从而退出循环。

posted @ 2024-12-08 21:57  空前123  阅读(72)  评论(0)    收藏  举报