作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是Shell编程,只有由于命令比较单一,只能实现比较简单的功能。如果我们把多个操作都放到一起去,并添加更复杂的逻辑在里面,他就是Shell编程。所以我们主要从以下几个方面讲解Shell编程:
Shell编程-什么是shell
Shell编程-变量
Shell编程-数据类型
Shell编程-逻辑判断
Shell编程-if判断
Shell编程-if和else
Shell编程-while循环
Shell编程-for循环
Shell编程-case
Shell编程-break
Shell编程-continue(本章节)
Shell编程--函数
Shell编程-案例(一)
Shell编程-案例(二)
Shell编程-小结
在Shell脚本中,continue
是一个关键字,用于跳过当前循环的剩余代码,并开始下一次循环的迭代。它通常用于在循环体内部根据特定条件跳过当前迭代,继续下一个迭代。
while condition
do
# 循环体代码
if [ some_condition ]; then
continue
fi
# 更多循环体代码
done
或者:
for var in list
do
# 循环体代码
if [ some_condition ]; then
continue
fi
# 更多循环体代码
done
continue
可以在循环体内的任何位置使用,但它只会影响到最内层的循环。continue
被执行时,它会跳过当前迭代的剩余代码,直接进入下一次迭代。while
循环中使用 continue
:#!/bin/bash
# 使用 while 循环输出 1 到 10 的奇数
number=1
while [ $number -le 10 ]
do
if [ $((number % 2)) -eq 0 ]; then
number=$((number + 1))
continue # 跳过偶数,继续下一次迭代
fi
echo "Odd number: $number"
number=$((number + 1))
done
while
循环会输出数字 1 到 10 中的奇数。当 number
是偶数时,执行 continue
跳过当前迭代,直接进入下一个迭代。for
循环中使用 break
:
#!/bin/bash
# 使用 for 循环输出数组元素,但遇到特定元素时就停止
fruits=("apple" "banana" "cherry" "date")
for fruit in "${fruits[@]}"
do
#echo "Fruit: $fruit"
if [ "$fruit" = "cherry" ]; then
continue
fi
echo "Fruit: $fruit"
done
echo "Outside the loop."
在这个例子中,for
循环会输出数组 fruits
的元素,但当 fruit
的值等于 "cherry" 时,会取消打印cherry,继续下一次循环,直到输出 "Outside the loop."。
总结
1.continue只会退出当次循环,但是并不会退出整个循环,比如代码里面的echo语句还是会执行的。
2.和break相对应的是continue,它只是退出本次循环。
3.有的老师用一个巡楼来说明这个continue。比如有8个房间,按照正常的循环,我们从1-1 开始到1-8结束。如果我们在1-6房间里面放置了一个continue,当巡楼到1-6房间以后,它就会触发continue,它会跳过1-6的循环,但是它会继续后面的1-7和1-8房间循环。