前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Shell编程-continue

Shell编程-continue

作者头像
运维小路
发布2024-11-01 19:53:12
发布2024-11-01 19:53:12
470
举报
文章被收录于专栏:运维小路

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们前面学习了那么多命令,以及涉及到部分逻辑判断的问题。从简单来说,他就是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编程-小结

上一小节的break里面讲的是是在采用了break在循环里面会退出整个循环,但是如果我们的需求只是跳出当次循环,而非退出整个循环呢?continue则可以满足该需求。

在Shell脚本中,continue 是一个关键字,用于跳过当前循环的剩余代码,并开始下一次循环的迭代。它通常用于在循环体内部根据特定条件跳过当前迭代,继续下一个迭代。

使用方法:

代码语言:javascript
复制
while condition
do
    # 循环体代码
    if [ some_condition ]; then
        continue
    fi
    # 更多循环体代码
done
代码语言:javascript
复制

或者:

代码语言:javascript
复制
for var in list
do
    # 循环体代码
    if [ some_condition ]; then
        continue
    fi
    # 更多循环体代码
done
代码语言:javascript
复制
  • continue 可以在循环体内的任何位置使用,但它只会影响到最内层的循环。
  • continue 被执行时,它会跳过当前迭代的剩余代码,直接进入下一次迭代。

示例:

while 循环中使用 continue
代码语言:javascript
复制
#!/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
代码语言:javascript
复制

#!/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房间循环。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维小路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 上一小节的break里面讲的是是在采用了break在循环里面会退出整个循环,但是如果我们的需求只是跳出当次循环,而非退出整个循环呢?continue则可以满足该需求。
    • 使用方法:
      • 示例:
        • 在 while 循环中使用 continue:
        • 在这个示例中,while 循环会输出数字 1 到 10 中的奇数。当 number 是偶数时,执行 continue 跳过当前迭代,直接进入下一个迭代。
        • 在 for 循环中使用 break:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档