一、break命令
break命令用于跳出循环,使用break可以跳出任何类型的循环:for、while、until。

1.跳出单循环

$ cat  test.sh 
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   if [ $a -eq 3 ]
   then
       break
   fi
   echo "a=$a"
   a=$[$a+1]
done
$ ./test.sh 
a=1
a=2
2、跳出内循环

$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   echo "Outer loop:a=$a"
   a=$[$a+1]
   for val in 1 2 3 4 5
   do 
        if [ $val -eq 3 ]
        then
            break 
        fi
        echo "	Inner loop:val=$val"
        val=$[$val+1]
   done
done
$ ./test.sh
Outer loop:a=1
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=2
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=3
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=4
	Inner loop:val=1
	Inner loop:val=2
Outer loop:a=5
	Inner loop:val=1
	Inner loop:val=2
显然,break只跳出了内层循环。外层循环依然执行了5次

3、跳出多层循环
有时需要跳出多层循环,使用:break n,n表示要跳出的循环层数,默认情况下 n=1,代表只跳出当前循环。

$ cat test.sh
#!/bin/bash
a=1
while [ $a -le 5 ]
do
   echo "Outer loop:a=$a"
   a=$[$a+1]
   for val in 1 2 3 4 5
   do 
        if [ $val -eq 3 ]
        then
            break 2
        fi
        echo "	Inner loop:val=$val"
        val=$[$val+1]
   done
done
$ ./test.sh 
Outer loop:a=1
	Inner loop:val=1
	Inner loop:val=2
二、continue命令
continue命令用于中止本次循环,重新判断循环条件,开始下一次循环。

$ cat test.sh 
#!/bin/bash
a=1
for val in 1 2 3 4 5
do 
  if [ $val -le 3 ]
  then
       continue
  fi
  echo "val=$val"
done
$ ./test.sh 
val=4
val=5

GitHub 加速计划 / li / linux-dash
13
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:4 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐