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

浙公网安备 33010602011771号