shell脚本之break和continue

shell脚本之break和continue

break的用法

break n:用于跳出循环。其中,n表示要跳出的循环层数。如果不接任何数字,则默认跳出当前循环。

跳出所有循环:不带任何参数的break命令会立即终止脚本的执行,跳出所有循环。

跳出指定层循环:通过指定n的值,break命令可以跳出指定层级的循环。例如,break 2表示跳出第2层循环。但这种用法并不常见,因为通常会用其他方式指定循环的终止条件。

例如:

bash 复制代码
#!/bin/bash  
  
for i in {0..10}; do  
    if [ $i -eq 2 ]; then  
        break
    fi  
    echo "当前数字:$i"  
done

在上述示例中,当$i等于2时就会中断for循环,所以脚本最终输出0和1

continue的用法

continue n:用于跳过当前循环迭代,并继续执行下一次循环。其中,n表示要跳过的循环层数。如果不接任何数字,则默认跳过当前循环。

跳过当前循环:不带任何参数的continue命令会跳过当前循环的剩余部分,直接进入下一次循环。

跳过指定层循环:通过指定n的值,continue命令可以跳过指定层级的循环。例如,continue 2表示跳过第2层循环。但这种用法并不常见,因为通常会用其他方式指定循环的终止条件。

例如:

bash 复制代码
#!/bin/bash  
  
for i in {1..10}; do  
    if [ $((i % 2)) -eq 1 ]; then  
        continue  
    fi  
    echo "当前数字:$i"  
done

在上述示例中,当 (i % 2) 的结果为1时(即数字为奇数),continue命令会停止当前循环迭代,直接跳到下一次循环。如果不使用continue命令,那么脚本将输出1到10的所有数字。使用continue命令后,脚本只输出偶数。

相关推荐
feng_you_ying_li2 小时前
linux之网络层
linux·运维·网络
未来之窗软件服务3 小时前
Linux 运维日志删除的多种方式—东方仙盟
linux·运维·服务器·仙盟创梦ide·东方仙盟
小雉系统3 小时前
BcoreOS实战:用一个升级包,让Rocky Linux跑进Debian服务器
linux·运维·服务器·debian
thethefighter3 小时前
快速预览Word、WPS秒开,支持空格弹窗
linux·word·wps·快速预览·空格弹窗·nhdeepview
用户8351414049493 小时前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu4 小时前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip
坚定的共产主义生产设备永不宕机4 小时前
服务器从裸机开始搭建ESXI虚拟机
linux·服务器·网络
刚入门的大一新生4 小时前
Linux-线程封装
linux·运维·服务器
god_cvz4 小时前
实践:Linux环境构建CTB工具(cesium-terrain-builder)
linux·gis·ctb