shell循环控制sleep、continue、break

shell循环控制sleep、continue、break循环控制语句sleepN脚本执行到该步休眠N秒continue跳过循环中的某次循环break跳出循环继续执行后续代码首先,要明确“break”与“continue”的区别:break:在for循环使用break,则跳出这个循环,循环命令结束continue:使用后,在当前循环终止命令,直接进入下个循环而break与countine都是作用于单个循环,如果想要进行多层循环操作,则需要在后面加数字,如break2和continue2。sleepN脚本执行到该步休眠N秒[ro

大家好,又见面了,我是你们的朋友全栈君。

首先,要明确“break”与“continue”的区别:
break:在for循环使用break,则跳出这个循环,循环命令结束
continue: 使用后,在当前循环终止命令,直接进入下个循环
而break 与 countine 都是作用于单个循环,如果想要进行多层循环操作,则需要在后面加数字,如
break 2和continue 2。

sleep N 脚本执行到该步休眠N秒

[root@localhost ~]# cat sleep.sh 
#!/bin/bash
echo -n "倒计时:"
for i in `seq 9 -1 1`
 do
    echo -n -e "\b$i"
    sleep 1
done
echo

执行代码
[root@localhost ~]# ./sleep.sh 
倒计时:8

[root@localhost ~]# cat for_sleep.sh 
#!/bin/bash
#监控主机存活的脚本
for ((;;))
   do
     ping -c1 $1 &>/dev/null
     if [ $? -eq 0 ]
      then
        echo -e "`date +"%F %H:%M:%S"`: $1 is \033[32m up \033[0m"
      else
        echo -e "`date +"%F %H:%M:%S"`: $1 is \033[31m down \033[0m"
     fi
     #脚本节奏控制 生产环境建议一分钟及以上
     sleep 5
done

执行代码
在这里插入图片描述

continue跳过循环中的某次循环

这段代码,默认循环输出1–9,但是使用continue跳过输出5

[root@localhost ~]# cat continue.sh 
#!/bin/bash
for ((i=0;i<10;i++))
  do
    if [ $i -eq 5 ]
      then
      #本循环到此结束,可以开始下一次循环了
	continue
    else
         echo $i
    fi
done

执行代码

[root@localhost ~]# ./continue.sh 
0
1
2
3
4
6
7
8
9

break跳出循环继续执行后续代码

默认循环输出1–9,当输出到5的时候跳出循环

[root@localhost ~]# cat break.sh 
#!/bin/bash
for ((i=0;i<10;i++))
  do
    echo $i
    if [ $i -eq 5 ]
      then
	break
    fi
done

执行代码

[root@localhost ~]# ./break.sh 
0
1
2
3
4
5

要求用户输入一个字母,当输入Q的时候退出

[root@localhost ~]# cat for_break.sh 
#!/bin/bash
for ((;;))
  do
   read -p "请您输出一个大写字母:"  ch
   if [ $ch == 'Q' ]
   then 
     break
   else
     echo "您输入的字母是:"$ch
   fi
done 

执行代码

[root@localhost ~]# ./for_break.sh 
请您输出一个大写字母:W
您输入的字母是:W
请您输出一个大写字母:E
您输入的字母是:E
请您输出一个大写字母:R
您输入的字母是:R
请您输出一个大写字母:Q

[root@localhost ~]# vi for_break.sh
#!/bin/bash
for ((i=1;i<100;i++))
 do
  echo "#loop $i"
  for ((;;))
   do
     echo "haha"
     break 
   done
 sleep 3
done

执行代码

[root@localhost ~]# ./for_break.sh 
#loop 1
haha
#loop 2
haha
#loop 3
haha

break 2

[root@localhost ~]# vi for_break.sh
#!/bin/bash
for ((i=1;i<100;i++))
 do
  echo "#loop $i"
  for ((;;))
   do
     echo "haha"
     break  2
   done
 sleep 3
done

执行代码

[root@localhost ~]# ./for_break.sh 
#loop 1
haha
直接结束

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163941.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html5 移动端开发模板,搭建一个vue-cli的移动端H5开发模板

    html5 移动端开发模板,搭建一个vue-cli的移动端H5开发模板简介vue-mobile是是基于vue-cli实现的移动端H5开发模板,其中已经搭建好基本的开发框架,可帮助您实现快速开发。技术栈:vue+vux+axios+less功能搭建项目目录配置css预处理器配置UI组件库vux解决移动端适配配置页面路由缓存axios请求封装工具类函数封装toast组件封装dialog组件封装底部导航组件封装列表页demo表单页…

    2022年6月21日
    59
  • 数据挖掘与数据分析[通俗易懂]

    数据挖掘与数据分析[通俗易懂]一、数据挖掘和数据分析概述数据挖掘和数据分析都是从数据中提取一些有价值的信息,二者有很多联系,但是二者的侧重点和实现手法有所区分。数据挖掘和数据分析的不同之处:1、在应用工具上,数据挖掘一般要通过自己的编程来实现需要掌握编程语言;而数据分析更多的是借助现有的分析工具进行。2、在行业知识方面,数据分析要求对所从事的行业有比较深的了解和理解,并且能够将数据与自身的业务紧密结合起来;而数…

    2022年6月5日
    30
  • python3.7安装pycrypto

    python3.7安装pycrypto首先直接打开 cmd 注意不是打开 python 也不用切换到 python 命令行直接输入 pip3installp 我这里安装过了 所以提示我已经安装过 如果未安装则提示安装成功然后找到你的 python 包的安装目录 也就是上面我们提示的 c users 杨 appdata local programs python python37 lib sit

    2025年6月16日
    5
  • vrrp的配置实例_十宗罪案例简介

    vrrp的配置实例_十宗罪案例简介一、背景二、VRRP概念介绍三、实验操作一、背景局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来

    2022年8月5日
    4
  • iOS App 主题切换

    iOS App 主题切换

    2021年6月7日
    364
  • 【Android】performClick()方法

    【Android】performClick()方法1. performClick()方法的作用:   performClick()方法是使用代码主动去调用控件的点击事件(模拟人手去触摸控件) 2. 使用注意事项: 如果同时使用了view.setOnTouchListener()方法,则有可能存在拦截view.performClick()的响应事件, 因为当view.OnTouchEvent()在event.getActio…

    2022年7月14日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号