Shell脚本完成练习03

Shell脚本完成练习03,第1张

Shell脚本完成练习03 1、编写脚本,判断当前系统剩余内存大小,如果低于100M,邮件报警管理员,使用计划任务,每10分钟检查一次。
[root@localhost day4]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1806        1325         183           5         297         322
Swap:          2047          79        1968
[root@localhost day4]# free -m | grep Mem
Mem:           1806        1325         183           5         297         322


tr -s " " " " 
将重复字段替换成单个字段(重复的空格字符替换成单个空格字符)

[root@localhost day4]# free -m | grep Mem | tr -s " " " " | cut -d " " -f 4
182

cut -d 指定分隔符为空格  -f 指定分割字段是4个字段
[root@localhost day3]# vim neicun.sh
#!/bin/bash
mem=`free -m | grep Mem | tr -s " " " "| cut -d " " -f 4`
if [ $mem -lt 100 ] ;then
        echo 内存不足 | mail -s 内存报警 [email protected]
else
        echo 内存正常
fi


[root@localhost day3]# crontab -e
*/10 * * * * /scripts/day3/mem.sh

*/10 每隔10分钟做一次检测   * * * * 年月日秒  /scripts/day3/mem.sh 绝对路径的方式添加文件

综合练习
第一题
1.判断某个文件是否存在,若不存在则给一个Filename does not exist的信息,并终端程序;

-e file 检测文件(包括目录)是否存在,如果存在,返回true [ -r $file ] 返回 true。
[root@localhost day3]# vim 6.sh
#!/bin/bash
read -p "请输入一个文件名:" filename
[ ! -e $filename ] && echo "the filename $filename do not exits" && exit 0

2.若文件存在,则判断它是文件或者目录,结果输出Filename is regular file 或者 Filename is directory.
[root@localhost day3]# vim 2.sh
#!/bin/bash
read -p "请输入一个文件名:" filename
[ ! -e $filename ] && echo filename exists || echo filename does not exist
[ -f $filename ]&& echo "filename is regular file"||echo "filename is directory

3.判断下,执行者的身份对这个文件或者目录所有的的权限,并输入权限数据
第二题
1.当执行一个程序的时候,这个程序会让用户选择Y或N
2.如果用户输入Y或者y时就显示ok,continue
3.如果用户输入N或者n时,就显示oh,interrupt
4.如果不是Y/y/N/n之内的其他字符,就显示 I don't know what your chocie is
[root@localhost day3]# vim 3.sh
#!/bin/bash
read -p "请选择Y或N:" cx
(([ $cx == Y ]|| [ $cx == y ] && echo ok,continue)||( [ $cx == N ]|| [ $cx == n ]  && echo oh,interrupt))|| (echo I don not know what you choice is)

第三题:
1.程序的文件名是?
2.共有几个参数
3.若参数的个数小于2则告知使用者数量太少
4.全部参数内容是什么
5.第一个参数是什么
6第三个参数是什么
[root@localhost day3]# vim 5.sh
#!/bin/bash
echo "程序的文件名是$()"
echo "共有$#个参数"
[ $# -lt 2 ] && echo "使用者数太少"
echo "全部参数的内容是$@"
echo "第一个参数是"
echo "第三个参数是"

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/5714542.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存