今日小练题目📢
写一个脚本判断你的Linux服务器里是否开启web服务?(监听80端口) 如果开启了,请判断出跑的是什么服务,是httpd呢还是nginx又或者是其他的什么?
优秀作业🤌🏻
#!/bin/bash
#author:xYLiuuuuuu
#date:2024-12-29
what_web() {
case $1 in
httpd )
echo "跑的是Httpd."
;;
nginx)
echo "跑的是Nginx."
;;
*)
echo "跑的是其它服务,既不是Nginx也不是Httpd."
;;
esac
}
port_n=`ss -lntp | grep ':80 '|wc -l`
if [ ${port_n} -eq 0 ]; then
echo "没有开启web服务";
exit;
fi
ss -lntp|grep ':80 '|awk -F '"' '{print $2}'|sort|uniq > /tmp/web.txt
line=`wc -l /tmp/web.txt|awk '{print $1}'`
if [ $line -gt 1]
then
for web in `cat /tmp/web.txt`
do
what_web $web
done
else
web=`cat /tmp/web.txt`
what_web $web
fi
rm -f /tmp/web.txt
敲黑板📝
- grep ':80 '加空格是为了排除类似8080这样的行
- sort|uniq