2018-11-14 shell练习题

写一个脚本判断你的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 仅完全匹配字词

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值