for 变量名 in 取值列表 do 命令序列 done 列 for 收件人 in 邮件地址列表 do 发送邮件 done(2)for循环流程图
(3)示例:
示例1:使用for循环编写简单的脚本显示出30以内的2的倍数 示例2;使用for循环编写简单的脚本实现可以批量创建用户的功能升级版从文档中调用用户的名称创建用户
(1)先创建一个文档输入员工的姓名
示例3:使用for循环实现根据IP地址列表检查主机的状态创键文件
运行脚本
示例4;使用for循环实现一个用户输错五次密码提示密码有误并退出登录的简单shell脚本 示例5;使用for循环实现一个抽奖的简单shell脚本创建一个文本文档
编写脚本
示例六:for循环实现简单显示脚本 2、while语句 (1)while语句结构while 条件测试操作 do 命令序列 done 列 while 未猜中正确价格 do 反复猜测商品价格 done(2)while语句运行流程图
(3)示例
示例1:实现简单的while循环脚本 示例2:用while语句实现过滤出3的倍数并显示其他的数 示例3:用while语句实现循环监控Apache的运行状态 示例4:用while语句实现猜数字小游戏脚本 示例5:用while语句实现批量创建用户并设置初始密码 示例6:用while语句实现人机交互的猜数字小游戏 示例7:用while语句实现监控系统资源并邮件警告 示例8:用while语句实现简单的军火商店购物 3、until语句重复测试某个条件,只要条件不成立则反复执行
(1)结构until 条件测试操作 do 命令序列 done(2) 语句流程图
(3)示例
示例1:用until语句计算1-50的和值 二、Shell函数将命令序列按格式写在一起
可方便重复使用命令序列
1、函数基本格式[function] 函数名(){
命令序列
[return x] #使用return或exit可以显示的结束函数
}
或者
#也可以省略掉[function],它表示该函数的功能
函数名() { #函数名后面()是没有内容的
命令序列 #我们执行的命令内容放在{}里面
}
- 函数定义完之后并不会自动执行,需要调用才行
- 好处在于可以写一段功能代码作为函数,有需要就直接调用定义的时候哪怕出现语法错误也没关系,不调用就不会报错
- 当然我们写函数最终目的还是为了调用,为了实现某个功能块。
return表示退出函数并返回一个退出值,脚本中可以用$? 变量显示该值使用原则
函数一结束就取返回值,因为$?变量只返回执行的最后一条命令的退出状态码
退出状态码必须是0~255,超出时值将为256取余
3、函数应用示例 (1)示例1简单函数调用 (2)示例2用函数实现一键安装yum源仓库的shell脚本#!/bin/bash
function backuprepo {
cd /etc/yum.repos.d
mkdir repo.bak
mv *.repo repo.bak
mount /dev/sr0 /mnt > /dev/null
}
makelocalrepo(){
echo '[local]
name = local
baseurl=file:///mnt
enabled=1
gpgcheck=0' > local.repo
}
uselocalrepo (){
yum clean all > /dev/null
yum makecache > /dev/null
yum install -y httpd > /dev/null
}
#==========mian============
backuprepo
makelocalrepo
uselocalrepo
三、总结
本章主要讲解了for循环、while循环、until循环的使用方法和简单案例。以及函数的使用方法和简单案例。适合小白及初级运维工程师查看和学习。



