第六节 红帽认证培训 Vim编辑器与Shell命令脚本(4.3-4.4)

2021/4/13 7:28:22

本文主要是介绍第六节 红帽认证培训 Vim编辑器与Shell命令脚本(4.3-4.4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第六节 红帽认证培训 Vim编辑器与Shell命令脚本(4.3-4.4)

文章目录

  • 4.3 流程控制语句
    • 1.if条件测试语句
    • 2.for条件循环语句
  • 3.while条件循环语句
    • 4.case条件测试语句
  • 4.4 计划任务服务程序
  • 总结


4.3 流程控制语句

1.if条件测试语句

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代码如下(示例):

[root@linuxprobe ~]# vim chkscore.sh
#!/bin/bash
read -p "Enter your score(0-100):" GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
        echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then
        echo "$GRADE is Pass"
else
        echo "$GRADE is Fail" 
fi
[root@linuxprobe ~]# bash chkscore.sh
Enter your score(0-100):88
88 is Excellent
[root@linuxprobe ~]# bash chkscore.sh 
Enter your score(0-100):80
80 is Pass

2.for条件循环语句

在这里插入图片描述

代码如下(示例):

[root@linuxprobe ~]# vim CheckHosts.sh
#!/bin/bash
HLIST=$(cat ~/ipaddrs.txt)
for IP in $HLIST
do
        ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
        if [ $? -eq 0 ]  
        then
                echo "Host $IP is On-line."
        else
                echo "Host $IP is Off-line."
        fi
done
[root@linuxprobe ~]# ./CheckHosts.sh
Host 192.168.10.10 is On-line.
Host 192.168.10.11 is Off-line.
Host 192.168.10.12 is Off-line.

3.while条件循环语句

在这里插入图片描述

[root@linuxprobe ~]# vim Guess.sh
#!/bin/bash
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
        elif [ $INT -gt $PRICE ] ; then
                echo "太高了!"
        else
                echo "太低了!"
        fi
done

4.case条件测试语句

在这里插入图片描述

[root@linuxprobe ~]# vim Checkkeys.sh
#!/bin/bash
read -p "请输入一个字符,并按Enter键确认:" KEY
case "$KEY" in
        [a-z]|[A-Z])
                echo "您输入的是 字母。"
                ;;
        [0-9])
                echo "您输入的是 数字。"
                ;;
        *)
                echo "您输入的是 空格、功能键或其他控制字符。"
esac
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:6
您输入的是 数字。
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:p
您输入的是 字母。
[root@linuxprobe ~]# bash Checkkeys.sh
请输入一个字符,并按Enter键确认:^[[15~
您输入的是 空格、功能键或其他控制字符。

4.4 计划任务服务程序

  • 一次性计划任务:今晚23点30分重启网站服务。
    at命令:
1.at 时间
[root@linuxprobe ~]# at 23:30
warning: commands will be executed using /bin/sh
at> systemctl restart httpd
at> 此处请同时按下<Ctrl>+<d>键来结束编写计划任务
job 1 at Wed Oct 14 23:30:00 2020
#使用“at now +2 MINUTE”的方式操作,这样代表2分钟(MINUTE)后执行这个任务,也可以替代成小时(HOUR)、日(DAY)、月(MONTH)等词汇:
[root@linuxprobe ~]# at now +2 MINUTE
warning: commands will be executed using /bin/sh
at> systemctl restart httpd
at> 此处请同时按下<Ctrl>+<d>键来结束编写计划任务
job 3 at Wed Oct 14 22:50:00 2020

2.at -l  :查看已设置好但还未执行的一次性计划任务
[root@linuxprobe ~]# at -l
1 Wed Oct 14 23:30:00 2020 a root

3. 要想将其删除,可以用“atrm 任务序号
[root@linuxprobe ~]# atrm 2
[root@linuxprobe ~]# at -l
1 Wed Oct 14 23:30:00 2020 a root

在这里插入图片描述

  • 长期性计划任务:每周一的凌晨3点25分都把/home/wwwroot目录打包备份为backup.tar.gz。
    crond命令:
#创建、编辑计划任务的命令为“crontab -e”;
#查看当前计划任务的命令为“crontab -l”;
#删除某条计划任务的命令为“crontab -r”。

在这里插入图片描述
在这里插入图片描述

#假设在每周一、三、五的凌晨3点25分,都需要使用tar命令把某个网站的数据目录进行打包处理,使其作为一个备份文件。我们可以使用crontab -e命令来创建计划任务,为自己创建计划任务无需使用-u参数,具体的实现效果的参数如crontab -l命令结果所示:
[root@linuxprobe ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

#删除crond计划任务则非常简单,可以使用crontab -e命令进入到编辑界面中,删除里面的文本信息即可,也可以使用crontab -r命令直接进行删除:
[root@linuxprobe ~]# crontab -r
[root@linuxprobe ~]# crontab -l
no crontab for root

在这里插入图片描述


总结

以上就是今天讲的内容,本文仅仅简单介绍vim和Shell的编辑。



这篇关于第六节 红帽认证培训 Vim编辑器与Shell命令脚本(4.3-4.4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程