shell脚本编程之循环控制语句(continue/break/sleep)

循环控制语句:

continue:提前结束本轮循环,而直接进入下一轮循环判断;

while  CONDITION1; do

CMD1

...

if  CONDITION2; then

continue

fi

CMDn

...

done

示例:求100以内所有偶数之和;

#!/bin/bash
#
declare -i evensum=0
declare -i i=0
while [ $i -le 100 ]; do
    let i++
    if [ $[$i%2] -eq 1 ]; then
        continue
    fi
    let evensum+=$i
done
echo "Even sum: $evensum"

break:提前跳出循环

while  CONDITION1; do

CMD1

...

if  CONDITION2; then

break

fi

done

创建死循环:

while true; do

循环体

done

退出方式:

某个测试条件满足时,让循环体执行break命令;

示例:求100以内所奇数之和

#!/bin/bash
#
declare -i oddsum=0
declare -i i=1
while true; do
    let oddsum+=$i
    let i+=2
    if [ $i -gt 100 ]; then
        break
    fi
done

sleep命令:

- delay for a specified amount of time

sleep NUMBER

练习:每隔3秒钟到系统上获取已经登录用户的用户的信息;其中,如果logstash用户登录了系统,则记录于日志中,并退出;

#!/bin/bash
#
while true; do
    if who | grep "^logstash\>" &> /dev/null; then
        break
    fi
sleep 3
done
echo "$(date +"%F %T") logstash logged on" >> /tmp/users.log

使用untill实现
#!/bin/bash
#
until who | grep "^logstash\>" &> /dev/null; do
sleep 3
done
echo "$(date +"%F %T") logstash logged on" >> /tmp/users.log
时间: 2024-12-03 07:58:17

shell脚本编程之循环控制语句(continue/break/sleep)的相关文章

shell脚本编程之循环语句

在运行脚本时重复执行一系列的命令是很常见的,这时我们就需要使用循环语句来达到这个目的. 一.for命令 格式:for 变量 in 列表:do 循环体 done for命令会遍历列表中的每一个值,并且在遍历完成后退出循环. 列表形式有以下几种: 1.在命令中定义的一系列的值: 2.变量: 3.命令: 4.目录: 5.文件. 实例1: 上例中使用{初始值..结束值}格式来表示一个区间的数值. 实例2:以变量作为列表: 实例3:用命令生成列表: 上例中使用seq命令来生成列表,seq命令的格式为:se

2018-3-26Linux系统管理(14)bash脚本编程之循环控制语句

我们在上个章节中讲到了如何使用yum来实现所谓的程序包管理,对于yum而言,它只是rpm包的一个前段管理工具,并不是取代rpm后端管理工具,它只是提供了较好的.基于仓库的.完成元数据自动分析以及依赖关系自动分析及自动解决的这么一个工具,但是强依赖于yum仓库的存在,但是yum的工作架构为C/S架构,首先,对于需要安装某个程序软件来讲,我们就称之为客户端(yum client),而我们管理程序包所使用的命令为yum命令.而服务器端并不是yum服务器端,但我们可以称之为yum的仓库端(yum rep

简单shell脚本编程示例(循环)

for循环 for 变量名in 列表;do 循环体 done 执行机制: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 列表生成方式: (1) 直接给出列表 (2) 整数列表: (a) {start..end} (b) $(seq[start [step]] end) (3) 返回列表的命令 $(COMMAND) (4) 使用glob,如:*.sh (5) 变量引用: [email protected], $* 1.判断/var/目

shell脚本进阶之循环判断

p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; font-size: 14.0pt; font-family: 等线 } h1 { margin-top: 15.6pt; margin-right: 0cm; margin-left: 0cm; margin-bottom: .0001pt; text-align: justify; line-he

shell脚本编程高级篇

SHELL脚本编程进阶循环执行:简单来说就是把一些指令重复循环. 循环代码具体的指令有三种: for , while , until其中for, while用的最多.for循环 for 变量名 in 列表;do 循环体 done 关键字的帮助都是用help来查询.for循环语法:在shell编程中 for,in,do,done.这些都是他的关键字,其中循环的指零就放在do和done之间.WORDS决定了循环次数.循环的次数由in 后面跟的WORDS(字符串)的数量决定.字符串的个数决定了do和d

shell脚本编程之循环控制结

shell脚本编程之循环控制结构 循环控制之for循环 语法结构1 for  Variable  in List do commands done 语法结构2 for  Variable  in List:do commands done 这个List可以为列表.变量.命令 等等 for循环    事先提供一个元素列表,而后,使用变量去遍历此元素列表,每访问一个元素,就执行一次循环体,直到元素访问完毕 1.for循环中的List为列表 eg1:   显示/etc/inittab, /etc/rc

SHELL脚本编程进阶(二)

写在前面(最重要) 本文部分资料和示例援引自以下书籍.在此,感谢原作者的创作,以及所有译者的付出,向他们致敬. Advanced Bash-Scripting Guide <高级Bash脚本编程指南>Revision 10中文版 Linux脚本编程执导 其中 <高级Bash脚本编程指南>Revision 10中文版 是 <Advanced Bash-Scripting Guide> 的中文翻译版,文档翻译正在进行中,再次感谢译者付出. 前言 在之前的文章 Linux 基

Shell脚本之while循环

目录:一.while循环与until循环 二.循环控制语句continue break shift三.特殊用法 一.while循环与until循环 1.while循环while CONDITION; do循环体done CONDITION:循环控制条件:进入循环之前,先做一次判 断:每一次循环之后会再次做判断:条件为真,则执行 一次循环:直到条件测试状态为假终止循环. 2.untiluntil CONDITION; do 循环体 ?doneuntil循环与while循环相反CONDITION:循

8.17_Linux之bash shell脚本编程入门篇(三)之循环以及函数function的使用

bash shell脚本编程入门篇(三)之循环 什么是循环执行? 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 相关命令:for, while, until,selet, for命令的使用 作用: 依次将列表中的元素赋值给"变量名"; 每次赋值后即执行一次循环体; 直到列表中的元素耗尽,循环结束 命令格式: for 变量名 in 列表; do 循环体(正常执行的执行命令) 语句1 语句2 语句3 ... done 列表生成方式: (