流程控制语句
3.while while条件循环语句 (条件)
while条件循环语句是一种让脚本根据某些条件来重复执行命令的语句,它的循环结构往往在执行前并不确定最终执行的次数,完全不同于for循环语句中有目标、有范围的使用场景
该脚本使用$RANDOM变量来调取出一个随机的数值(范围为0~32767),将这个随机数对1000进行取余操作,并使用expr命令取得其结果,再用这个数值与用户通过read命令输入的数值进行比较判断
#!/bin/bash
#thin is a test.sh
PRICE=$(expr $RANDOM % 1000)
TIMES=0
echo "商品实际价格为0-999之间,猜猜看是多少?"
while true
do
read -p "请输入您猜测的价格数目:" INT
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo "恭喜您答对了,实际价格是 $PRICE"
echo "您总共猜测了 $TIMES 次"
exit 0
elif [ $INT -gt $PRICE ] ; then
echo "太高了!"
else
echo "太低了!"
fi
done
4.case条件测试语句
case语句是在多个范围内匹配数据,若匹配成功则执行相关命令并结束整个条件测试;而如果数据不在所列出的范围内,则会去执行星号(*)中所定义的默认命令
将字符赋值给KEY去判断类型
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是 字母。"
;;
[0-9])
echo "您输入的是 数字。"
;;
*)
echo "您输入的是 空格、功能键或其他控制字符。"
esac
计划任务服务程序
在指定的时间段自动启用或停止某些服务或命令,从而实现运维的自动化,设置服务器的计划任务服务,把周期性、规律性的工作交给系统自动完成
计划任务分为一次性计划任务与长期性计划任务:
一次性计划任务:今晚11点30分开启网站服务
长期性计划任务:每周一的凌晨3点25分把/home/wwwroot目录打包备份为backup.tar.gz
一次性计划任务:(单次有效)
使用at
例:
at 23:30 ------任务执行时间
at > reboot -------任务命令内容
at > 此处请同时按下Ctrl+d来结束编写计划任务 -----任务编辑结束
at 时间
at -l 列出已有的计划任务
at -1 -c 显示编号1的任务编码工作内容
at -r 删除任务
长期计划性任务:(永久有效)
crond 服务名称
crontab 配置工具
如果我们希望Linux系统能够周期性地、有规律地执行某些具体的任务,那么Linux系统中默认启用的crond服务简直再适合不过了。创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。
在正式部署计划任务前,熟悉“分、时、日、月、星期 命令”。这是使用crond服务设置任务的参数格式,
需要注意的是,如果有些字段没有设置,则需要使用星号(*)占位,如下图
使用crond设置任务的参数字段说明
字段 |
说明 |
分钟 |
取值为0~59的整数 |
小时 |
取值为0~23的任意整数 |
日期 |
取值为1~31的任意整数 |
月份 |
取值为1~12的任意整数 |
星期 |
取值为0~7的任意整数,其中0与7均为星期日 |
命令 |
要执行的命令或程序脚本 |
在计划任务的命令里 ,命令要以绝对路径的形式添加
五个时间占位符 * * * * *
例:
crontab -u 跟上用户名查看其他用户的计划任务
crontab -e 编辑创建自己的计划任务
whereis reboot 查看reboot的绝对路径
可以加注释标明任务名称
在xxx时刻重启服务器(24小时制)
30 1 *** /usr/bin/reboot 每天凌晨1点30分重启
30 1 5 ** /usr/bin/reboot 每月5号的凌晨1点30分重启
30 1 5 3 * /usr/bin/reboot 每年的3月5号的凌晨1点30分重启
30 1 * 3 2 /usr/bin/reboot 每年的星期二凌晨 1点30分重启
30 1 * * 2 /usr/bin/reboot 每个星期二凌晨 1点30分重启
30 1 1-3 * * /usr/bin/reboot 每个月1-3号的凌晨 1点30分重启
30 */2 * * * /usr/bin/reboot 每两个半小时重启一次
-
- Vim编辑器
- Shell脚本
- 流程控制语句
- 计划任务服务程序
来源:oschina
链接:https://my.oschina.net/u/3115396/blog/3177980