【Linux】结构化命令:控制循环

一、break命令

可以使用break命令退出任意类型的循环,比如while和until循环。

1、跳出单个循环

bash 复制代码
#!/bin/bash
#for循环

for var1 in 1 2 3 4 5 6 7 8
do
  if [ $var1 -eq 6 ]
  then
     break
  fi
  echo "迭代数字是$var1"
done 

#while循环

var1=0

while [ $var1 -lt 8 ]
do
  if [ $var1 -eq 6 ]
  then
    break
  fi
  echo "迭代数字:$var1"
  var1=$[ $var1 + 1 ]
done

2、跳出内层循环

bash 复制代码
#!/bin/bash
for (( a = 1; a < 6; a++ ))
do
  echo "外层循环:a=$a"
  for (( b = 1; b < 50; b++ ))
  do
    if [ $b -eq 10 ]
    then
       break
    fi
    echo "   内层循环:b=$b"
  done
done

3、跳出外层循环

break命令接受单个命令行参数:break n

n是要跳出的循环层级;默认为1,表示当前循环层级;若n=2,则为下一级的外层循环。

bash 复制代码
#!/bin/bash
for (( a = 1; a < 6; a++ ))
do
  echo "外层循环:a=$a"
  for (( b = 1; b < 20; b++ ))
  do
    if [ $b -gt 6 ]
    then
      break 2
    fi
    echo "  内层循环:b=$b"
  done
done

二、continue命令

continue命令可以提前中止某次循环,但不会结束整个循环。

bash 复制代码
#!/bin/bash

for (( a = 1; a < 20; a++ ))
do
  if [ $a -gt 5 ] && [ $a -lt 11 ]
  then
    echo "会打印出来!"
    continue
    echo "不会打印出来!!"
  fi
  echo "迭代数字是:$a"
done
相关推荐
niuTaylor1 分钟前
嵌入式Linux驱动开发基础知识(三)
linux·运维·驱动开发
风清扬雨2 分钟前
计算机视觉中的基于网格的卷绕算法全解析
人工智能·算法·计算机视觉
清源妙木真菌3 分钟前
Linux:页表详解(虚拟地址到物理地址转换过程)
linux·性能优化·内存管理
对方正在长头发丿3 分钟前
棋盘问题(DFS)
数据结构·c++·算法·蓝桥杯·深度优先
rufeike3 分钟前
OSI模型中协议数据单元(PDU)
运维·网络
高峰聚焦3 分钟前
Linux 系统管理综合实训 —— 基于 NAT 模式的多 IP 配置、Nginx 服务部署及存储管理
linux·tcp/ip·nginx
@蓝莓果粒茶4 分钟前
LeetCode第132题_分割回文串II
开发语言·算法·leetcode·职场和发展·c#·.net·linq
逐光猴15 分钟前
docker 配置harbor 非https访问(http server give HTTP response to HTTPS client)
linux·docker·容器
多多*21 分钟前
2024第十五届蓝桥杯大赛软件赛省赛Java大学B组 报数游戏 类斐波那契循环数 分布式队列 食堂 最优分组 星际旅行 LITS游戏 拼十字
java·linux·stm32·单片机·嵌入式硬件·spring·eclipse
逆鱼_0434 分钟前
ARM-UART
linux·运维·arm开发