【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
相关推荐
我叫张土豆12 小时前
Windows + VS Code 编译 Linux 内核并用 QEMU 启动:从踩坑到跑通(任务 + 脚本全拆解)
linux·运维·windows
lcreek12 小时前
Kali Linux WSL 从零安装 XFCE4 桌面完整指南
linux·wsl
努力搬砖的鱼12 小时前
深信服aTrust集群从节点访问失败排查:交换机策略重定向引发的“回包丢失”之谜
运维·网络·华为
加点油。。。。12 小时前
【远程桌面连接提示你的凭据不工作怎么办?】
运维·服务器
cen__y12 小时前
Linux13(数据库)
linux·服务器·c语言·开发语言·数据库
用户9385156350712 小时前
数组去重,从双重循环到一行 Set,我经历了什么?
javascript·算法
小许同学记录成长12 小时前
gr-analog 模拟信号模块完整源码分析
python·算法·信号处理
计算机安禾12 小时前
【算法分析与设计】第8篇:贪心策略的理论基础与拟阵模型
算法
梦奇不是胖猫12 小时前
[ 计算机网络 | 第三章 ] 数据链路层03 CSMA/CD
运维·服务器·网络·计算机网络
手写码匠12 小时前
手写 MoE(混合专家模型):从零实现大模型的稀疏激活架构
人工智能·深度学习·算法·aigc