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

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


1.if条件判断

#! /bin/bash
#定义变量
a=10
b=20

#进行条件判断
if [ "$a" -eq "$b" ];then #尝试不同的空格书写,发现可以执行
        echo a=b
elif [ "$a" -gt "$b" ]; then
        echo a>b
else echo 不符合条件
fi


代码解析
#! /bin/bash
这是 shebang 行,它告诉操作系统该脚本应使用 /bin/bash 解释器来执行。

a=10 b=20
定义两个变量

if [ "$a" -eq "$b" ]; then
这是条件判断语句的开始。它检查变量 a 和 b 是否相等。
-eq 是一个用于数字比较的操作符,表示 "等于"。
"$a" 和 "$b" 是变量 a 和 b 的值,使用双引号包围是为了确保即使变量为空或包含空格,仍能正确处理。

如果 a 等于 b,则会执行 then 后面的代码。如果条件不成立,接下来会检查 elif 中的条件。

echo a=b
如果 a 等于 b,则输出a=b

elif [ "$a" -gt "$b" ]; then
elif 表示 "else if",用于检查另一个条件。这里检查的是 a 是否大于 b

else echo 不符合条件
else 表示如果之前的条件都不成立,就执行这个部分的代码

fi
是 if 语句的结束标记,它用来表示 if 语句块的结束

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

#! /bin/bash
#定义变量
a=10
b=20

#进行条件判断
if [ "$a" -eq "$b" ];then
        echo "a=b"
elif [ "$a" -gt "$b" ]; then
        echo "a>b"
elif [ "$a" -lt "$b" ]; then
        echo "a<b"
else echo "不符合条件"
fi

-lt判断a是否小于b

2.for条件循环

#! /bin/bash

for num in 1 2 3 4 5
do
        echo "the number is $num"
done


代码分析
for num in 1 2 3 4 5
这是 for 循环的开始部分。它会逐个迭代数字 1 到 5,并将每个数字依次赋值给变量 num。
do
do 表示循环体的开始。do 后面跟着的是在每次循环中要执行的命令或代码块。
echo "the number is $num"
在每次循环中,echo 命令会打印出当前的 num 值。$num 表示获取变量 num 的值。
done
done 表示 for 循环体的结束。

利用for循环打印字符串,其中"hello world"是一整个字符串,只循环一次。

for str in "hello world"
do
        echo "$str"
done
     

posted @ 2024-12-05 23:53  空前123  阅读(55)  评论(0)    收藏  举报