内容预知
实验一
检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限
#!#/bin/bash
#判断test文件是否存在
[ -e /root/test.sh ] &>/dev/null
if [ $? -eq 0 ];then
echo "test.sh 文件是存在的!"
#判断test.sh文件是否拥有执行权限
[ -x /root/test.sh ] &>/dev/null
if [ $? -eq 0 ] ; then
echo "tesh.sh文件拥有执行权限"
else
echo "test.sh文件没有执行权限"
fi
else
echo "tesh.sh 文件并不存在!"
fi
~
结果:
实验二
提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误
#!/bin/bash
#根据成绩选拔
read -p "请输入你本次100米赛跑的比赛使用的时间:" num
if [ $num -le 10 ] && [ $num -gt 0 ] ;then
echo "恭喜你,进入到小组选拔!"
#根据性别分组
read -p "请选择您本人的性别(1.代表男性 2.代表女性):" sex
if [ $sex -eq 1 ];then
echo "您已成功加入男生组!"
elif [ $sex -eq 2 ];then
echo "您已成功加入女生组!"
else
echo "请在规定的范围内进行选择,谢谢配合!"
fi
elif [ $num -le 0 ];then
echo "输入有误!"
else
echo "很遗憾,您没有通过考核!"
fi
测试:
实验三
用case语句解压根据后缀名为 .tar.gz 或 .tar.bz2 的压缩包到 新建 /apps目录
#!/bin/bash
read -p "请输入要解压的文件名:" name
case $name in
read -p "请输入要解压的文件名:" name
case $name in
*.tar.gz)
tar -zxvf $name -C /apps &>/dev/null
if [ $? -eq 0 ];then
echo "$name 已经解压成功"
else
echo "$name 相关的压缩包不存在!"
fi
;;
*.tar.bz2)
tar -jxvf $name -C /apps &>/dev/null
if [ $? -eq 0 ];then
echo "$name 已经解压成功"
else
echo "$name 相关的压缩包不存在!"
fi
;;
*)
echo "文件输入错误!"
结果测试:
实验四
用if 语句判断主机是否存活
#!/bin/bash
#用if 语句判断主机是否存活
read -p "请输入主机ip:" i
ping $i -c 2 -w 3 &> /dev/null
if [ $? -eq 0 ];then
echo "主机存活"
else
echo "主机不存活"
fi
测试:
实验五
用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中(#chkconfig: - 99 20)
使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。
脚本编写:
#!/bin/bash
#chkconfig: - 99 20
echo "$0 脚本功能:Start 开启防火墙 stop 关闭防火墙 restart 重启防火墙 status查看防火墙的状态 "
read -p "请输入您想执行的命令操作:" order
case $order in
"start")
echo "开启防火墙中...."
systemctl start firewalld
if [ $? -eq 0 ];then
echo "防火墙启动成功!"
else
echo " 防火墙启动失败!"
fi
;;
"stop")
echo "关闭防火墙中......."
systemctl stop firewalld
if [ $? -eq 0 ];then
echo "防火墙关闭成功!"
else
echo " 防火墙关闭失败!"
fi
;;
"restart")
echo "重启防火墙中......"
systemctl restart firewalld
if [ $? -eq 0 ];then
echo "防火墙重启成功!"
else
echo " 防火墙重启失败!"
fi
;;
"status")
echo "查看防火墙的服务状态中"
systemctl status firewalld
;;
*)
echo "输入有误,请输入 $0 脚本的命令: {start|stop|status|restart}"
;;
esac
加入服务管理操作:
[root@localhost init.d]#chmod +x firewalld
[root@localhost init.d]#chkconfig --add firewalld
测试:
实验六
监控cpu的使用率
#!/bin/bash
a=$(top -b -n1 | grep '%Cpu(s):' | awk -F, '{print $4}' | awk '{print $1}')
USED_CPU=$(echo "100-$a" | bc)
echo "当前CPU的使用率为${USED_CPU}%"
测试: