2018.4.19 17周2次课

十七周二次课(4月19日)

20.10 for循环
20.11/20.12 while循环
20.13 break跳出循环
20.14 continue结束本次循环
20.15 exit退出整个脚本

20.10 for循环

for循环结构是在日常运维工作中使用最频繁的循环结构。

语法:for 变量名 in 条件; do …; done

数字循环:vi for1.sh

#!/bin/bash

sum=0

for i in `seq 1 3`

#循环的条件还可以引用系统命令的执行结果(如seq 1 3 ),但必须用反引号括起来

do

sum=$[$sum+$i]

echo $i

done

echo $sum

文件列表循环

#!/bin/bash

cd /root/

for a in `ls /root/`

do

if [ -d $a ]

then

ls -d $a

fi

done

for循环时会以空格和回车为分隔符

20.11/20.12 while循环

常常用while循环来编写四循环的脚本,用于监控某项服务

语法 while 条件; do … ; done

案例1:

vim while1.sh

#!/bin/bash

while :

#冒号表示条件为真,也可以用1,true等表示

do

load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d . -f1`

if [ $load -gt 10 ]

then

top|mail -s "load is high: $load" [email protected]

fi

sleep 30

done

w|head -1 //指定命令w执行后显示的第一行

awk -F 'load average: ' '{print $2}' //指定load average:为分隔符,显示第二段

cut –d. -f1 //以.为分隔符,截取第一段

案列2:

vim while2.sh

#!/bin/bash

while :

do

read -p "Please input a number: " n

if [ -z "$n" ]

then

echo "you need input sth."

continue

#结束本次循环,回到read这行,继续输入数字

fi

n1=`echo $n|sed 's/[0-9]//g'`

if [ -n "$n1" ]

then

echo "you just only input numbers."

continue

#结束本次循环,回到read这行,继续输入数字

fi

break

#跳出while….done循环

done

echo $n

20.13 break跳出循环

vim break.sh

#!/bin/bash

for i in `seq 1 5`

do

echo $i

if [ $i == 3 ]

then

break

fi

echo $i

done

echo aaaaaaa

20.14 continue结束本次循环

vim continue.sh

忽略continue之下的代码,直接进行下一次循环

#!/bin/bash

for i in `seq 1 5`

do

echo $i

if [ $i == 3 ]

then

continue

fi

echo $i

done

echo $i

20.15 exit退出整个脚本

vim exit.sh

#!/bin/bash

for i in `seq 1 5`

do

echo $i

if [ $i == 3 ]

then

exit

#exit可以定义退出数字,就是echo $? 显示的数字,如exit 1,那执行echo $?命令后显示的数字是1.

#没有写,默认是0

fi

echo $i

done

echo aaaaaaa

原文地址:http://blog.51cto.com/415326/2105472

时间: 2024-07-29 20:59:26

2018.4.19 17周2次课的相关文章

2018.4.23 17周4次课

十七周4次课(4月23日) 20.20 告警系统主脚本 20.21 告警系统配置文件 20.22 告警系统监控项目 20.20 告警系统主脚本 创建告警系统的目录: [[email protected] /usr/local/sbin]# mkdir mon [[email protected] /usr/local/sbin]# ls mon  nginx_log_rotate.sh [[email protected] /usr/local/sbin]# cd mon [[email pro

2018.3.19 13周1次课

十三周一次课(3月19日) 12.21 php-fpm的pool 12.22 php-fpm慢执行日志 12.23 open_basedir 12.24 php-fpm进程管理 12.21 php-fpm的pool 和LAMP不同的是,在LNMP架构中,php-fpm作为独立的一个服务存在.既然是独立服务,那么它必然于自己的配置文件.Php-fpm的配置文件是/usr/local/php/etc/php-fpm.conf,它同样也支持include语句.类似于nginx.conf里面的inclu

2018.4.19 五周第二次课

yum更换国内源 首先先恢复昨天的实验,把yum备份恢复回来 [[email protected] ~]# cd /etc/yum.repos.d #进入到目录[[email protected] yum.repos.d]# ls #查看当前文件dvd.repo[[email protected] yum.repos.d]# rm -f dvd.repo #rm 删除 dvd.repo文件[[email protected] yum.repos.d]# cp /etc/yum.repos.d.b

2018.4.18 17周1次课

十七周一次课(4月18日) 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 20.5 shell脚本中的逻辑判断 格式1不带else:if 条件 ; then 语句; fi 编辑if1.sh文件:vi if1.sh #!/bin/bash/ a=5 if [ $a -gt 3 ] then echo ok fi 格式2带有else:if 条件; then 语句; else 语句; fi #!/bin/bash/ a=1

2017.12.19 2周2次课

2017.12.19二周第二次课 2.10 环境变量PATH echo用来输出PATH的值.PATH前面的$是变量的前缀符号 1.你的命令在上述几个目录里面,在输入命令时就不用输入绝对路径,直接使用.因为在输入命令时,系统会在上述的几个目录里去寻找这个命令.当然也可以输入绝对路径 Copy命令[ls]到目录tmp下,并改名[ls2],二者实现的功能一样 直接输入命令[ls2],确不行.因为命令[ls2]不在"/usr/local/sbin:/usr/local/bin:/usr/sbin:/us

2018.3.1 10周2次课

十周第二次课(3月1日) 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机 11.14/11.15 Apache和PHP结合 配置httpd支持php httpd主配置文件/usr/local/apache2.4/conf/httpd.conf vim /usr/local/apache2.4/conf/httpd.conf   //修改以下4个地方 ServerName 搜索ServerName,把#ServerName www.example

2018.1.9 5周2次课

五周第二次课(1月9日) 7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 7.6 yum更换国内源 1.恢复之前备份的文件 2. 进入"/etc/yum.repos.d"目录 3.删除"CentOS-Base.repo"文件 4.下载"163.repo"文件 wget http://mirrors.163.com/.help/CentOS7-Base-163.repo curl -O http://mirrors

2018.1.16 6周2次课

六周第二次课(1月16日) 9.4/9.5 sed 9.4/9.5 sed 其实grep工具的功能还不够强大,它实现的只是查找功能,而不能把查找的内容替换.以前用vim操作文档的时候,可以查找也可以替换, 但只限于在文本内部操作,而不能输出到屏幕上.sed工具以及后面要介绍的awk工具就能把替换的文本输出到屏幕上,而且还有其他更丰富的功能.sed和awk都是流式编辑器,是针对文档的行来操作的. sed  '/x/'p filename:匹配x字符 sed  -n  '/x/'p  filenam

2018.3.19 一周第一次课

1.1 学习之初 r.aminglinux.com 学习资源软件包 课程用到的代码及命令 (centos7.aminglinux.com) 选择一个定位(发展方向.发展城市.对未来三年的规划) 学习方法 (预习复习.当日事当日毕.做爱后笔记.利用和资源) 1.2 约定 1.操作系统 centOS 7.4系统 64位 64位 http://mirrors.sohu.com/centos/7.4.1708/isos/x86_64/CentOS-7-x86_64-DVD-1708.iso 2.操作i系