shell基础-for\while\break
在 Shell 脚本中,for
循环和 while
循环是非常常见的控制结构,用于重复执行一组命令。同时,break
和 continue
语句可以用来控制循环的执行流程。下面详细介绍这些内容。
for
循环
基本语法
for 变量 in 列表; do
# 循环体
done
示例 1:遍历列表
#!/bin/bash
# 遍历一个列表
for i in 1 2 3 4 5; do
echo "Number: $i"
done
示例 2:遍历文件中的每一行
#!/bin/bash
# 遍历文件中的每一行
while IFS= read -r line; do
echo "Line: $line"
done < file.txt
while
循环
while 条件表达式; do
# 循环体
done
示例 1:简单的 while
循环
#!/bin/bash
# 初始化计数器
i=1
# 使用 while 循环
while [ $i -le 5 ]; do
echo "Number: $i"
i=$((i + 1))
done
控制循环的语句
break
语句
break
语句用于立即退出当前循环。
示例 1:使用 break
语句
#!/bin/bash
# 使用 for 循环和 break 语句
for i in 1 2 3 4 5; do
if [ $i -eq 3 ]; then
break
fi
echo "Number: $i"
done
continue
语句
continue
语句用于跳过当前循环的剩余部分,直接进入下一次循环。
示例 2:使用 continue
语句
#!/bin/bash
# 使用 for 循环和 continue 语句
for i in 1 2 3 4 5; do
if [ $i -eq 3 ]; then
continue
fi
echo "Number: $i"
done
综合示例
示例 1:结合 for
循环、while
循环、break
和 continue
#!/bin/bash
# 使用 for 循环和 break 语句
for i in 1 2 3 4 5; do
if [ $i -eq 3 ]; then
echo "Breaking at $i"
break
fi
echo "For loop: Number $i"
done
# 使用 while 循环和 continue 语句
j=1
while [ $j -le 5 ]; do
if [ $j -eq 3 ]; then
echo "Skipping $j"
j=$((j + 1))
continue
fi
echo "While loop: Number $j"
j=$((j + 1))
done
总结
for
循环:用于遍历一个列表或执行固定次数的循环。while
循环:用于在条件为真时重复执行一段代码。break
语句:用于立即退出当前循环。continue
语句:用于跳过当前循环的剩余部分,直接进入下一次循环。