写一个脚本判断你的linux是否开启了web服务,(监听80端口)如果开启了,请判断出是什么服务,是httpd还是nginx还是其它什么服务?
#!bin/bash
a=0
a=`netstat -lnp |grep 80 |awk '{print $4}'|grep -w '80'`
a=$?
if [ $a -eq 0 ]
then
b=`netstat -lnp |awk -e '/:80 /{print $7}'| awk -F "/" '{print $2}'`
echo "system is running $b !"
else
echo "system is not running 80 service !"
fi
运行结果:
[root@knightlai02 ~]# systemctl stop httpd
[root@knightlai02 ~]# sh 20181114.sh
system is not running 80 service !
[root@knightlai02 ~]# systemctl start httpd
[root@knightlai02 ~]# sh 20181114.sh
system is running httpd !
注意:
grep 精确匹配
如果是有进程名为abcd,abcde等有包含"abc"字符的,那么判断将会不准备,如果精确的匹配到abc呢,当时不知道,只能很诚实的回答,不清楚
其实答案很简单,用grep –w "abc" 或者是grep "\<abc\>"都可以实现
-w, --word-regexp 强制 PATTERN 仅完全匹配字词