【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
相关推荐
7yewh8 分钟前
嵌入式驱动RK3566 HDMI eDP MIPI 背光 屏幕选型与调试提升篇-eDP屏
linux·arm开发·驱动开发·嵌入式硬件·嵌入式linux·rk·edp
Teacher_Wyh9 分钟前
算法知识-18-STL
开发语言·c++·算法
南宫生38 分钟前
力扣-图论-15【算法学习day.65】
java·学习·算法·leetcode·图论
mit6.82441 分钟前
[数据结构#2] 图(1) | 概念 | 邻接矩阵 | 邻接表 | 模拟
算法·深度优先·图论
Menior_44 分钟前
数据结构—图
数据结构·c++·算法
工业3D_大熊1 小时前
HOOPS Communicator功能剖析:3D Web模型树交互的实用指南!
linux·windows·macos·3d·docker·c#·.net
丶Darling.1 小时前
进程间通信博客总结目录
linux·网络编程·进程同步·系统编程·c/c++·阻塞和非阻塞
lly_csdn1231 小时前
【路径规划】原理及实现
python·算法·路径规划
YGGP1 小时前
【LeetCode】将有序数组转换为二叉搜索树
数据结构·算法·leetcode
weixin_537590451 小时前
《Java编程入门官方教程》第七章练习答案
java·算法