Shell脚本之exit、break、continue区别

首先来明确一下三者的定义:

  • exit:退出shell程序,不再执行exit下的任何语句
  • break:跳出整个循环
  • continue:跳出本次循环,继续下一次循环

测试脚本:

1、exit

#!/bin/bash
i=1
for i in `seq 1 5`;do
  if [ $i -eq 3 ];then
   exit
  fi
  echo $i
done

执行结果:
[root@localhost ~]sh 11.sh 
1
2
解释:当i值等于3时if判断条件成立,直接就执行exit了,执行exit后下面的所有语句均不执行,所以只会输出1、2

2、break

#!/bin/bash
i=1
for i in `seq 1 5`;do
  if [ $i -eq 3 ];then
   break
  fi
  echo $i
done

执行结果:
[root@localhost ~]sh 11.sh 
1
2
解释:当i值等于3时if判断条件成立,碰到了break命令直接退出了for循环语句,循环内剩余的其他语句就都不执行了,但若循环语句后面还有其他语句则会继续执行

3、continue

#!/bin/bash
i=1
for i in `seq 1 5`;do
  if [ $i -eq 3 ];then
   continue
  fi
  echo $i
done

执行结果:
[root@localhost ~]# sh 11.sh 
1
2
4
5
解释:当i值等于3时if判断条件成立,遇到continue命令,直接跳过了本次循环,后面的语句不执行了,进行下一次循环,所以会跳过3

猜你喜欢

转载自blog.csdn.net/u014042047/article/details/107583877