伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

【shell】shell脚本实战-循环的控制

来源:本站原创 浏览:134次 时间:2021-12-02


文章目录
    • 1. break 跳过整个循环
    • 2. continue跳过当次循环
    • 3. exit退出脚本
    • 前言
    • break和continue的区别
    • 三种方式的对比案例
    • 实战案例
    • 总结


前言

在我们使用循环语句进行循环的过程中,有时候需要在未达到循环结束条件时强制跳出循环,那么Shell给我们提供了四个命令来控制循环语句

continue 跳过当次循环
break 跳过整个循环
exit 退出脚本
return 退出函数

break和continue的区别

区别:
Break:跳出整个循环
Continue:跳过本次循环,进行下次循环

概述:
break概述:跳出当前整个循环或结束当前循环,在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,后面如果什么也不加,表示跳出当前循环等价于break 1,也可以在后面加数字,假设break 3表示跳出第三层循环

continue概述:忽略本次循环剩余的代码,直接进行下一次循环;在for、while等循环语句中,用于跳出当前所在的循环体,执行循环体之后的语句,如果后面加的数字是1,表示忽略本次条件循环,如果是2的话,忽略下来2次条件的循环

三种方式的对比案例

在这里因为还没有学习到函数,所以我们先对比三种break,continue,exit对脚本的影响

1. break 跳过整个循环

break脚本案例:

[root@ecs-c13b ~]# cat break.sh #!/bin/bashfor n in 1 2 3 4 5doif [ $n -eq 3  ]thenbreakfiecho $ndoneecho ok

执行结果

[root@ecs-c13b ~]# bash break.sh 12ok

可以看到,执行到等于3的时候,直接就结束了,跳出循环,输出了ok

2. continue跳过当次循环

continue脚本案例:

[root@ecs-c13b ~]# cat con.sh #!/bin/bashfor n in 1 2 3 4 5doif [ $n -eq 3  ]thencontinuefiecho $ndoneecho ok执行结果: [root@ecs-c13b ~]# bash con.sh 1245ok

注: 可以看到,用了continue,只是在等于3的时候,没有输出3,跳过了一次循环,后面又继续运行。

3. exit退出脚本
[root@ecs-c13b ~]# cat ex.sh #!/bin/bashfor n in 1 2 3 4 5doif [ $n -eq 3  ]thenexitfiecho $ndoneecho ok直接退出了循环: [root@ecs-c13b ~]# bash ex.sh 12

实战案例
  1. 自动化脚本菜单页面

脚本案例:

[root@ecs-c13b ~]# cat zd.sh #! /bin/shwhile truedo echo "*******************************" echo "Please select your operation:" echo " 1 Copy" echo " 2 Delete" echo " 3 Backup" echo " 4 Quit" echo "*******************************" read choise case $choise in1) continue             #这里加了continue后,后面的echo命令就不执行了 echo "your selection is Copy" ;;2)  echo "your selection is Delete" ;;3) echo "your selection is Backup" ;;4) echo "Exit ..." break             #跳出循环体 ;; *) echo "invalide selection,please try again"  esacdone

运行结果展示:

[root@ecs-c13b ~]# bash zd.sh *******************************Please ������,������select your operation: 1 Copy 2 Delete 3 Backup 4 Quit*******************************1   #选择1的时候遇到continue跳过循环,没有执行后面的内容,但也没有结束循环*******************************Please select your operation: 1 Copy 2 Delete 3 Backup 4 Quit*******************************4## 选择4的时候遇到break,结束循环Exit ...[root@ecs-c13b ~]#

总结

循环体的控制,一共四个命令,在使用的过程中,要合理选择,遇到跳过某次循环选continue,遇到跳出循环选break, 结束循环使用exit。 在后面的练习中多多使用即可。

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net