【shell】11 [进阶4] 案例:判断服务端口与进程状态

需求

判断端口开放情况

思路

使用telnet连接远程主机的远程端口

接收连接反馈并分析结果

代码实现

#Description:监控一个服务端口 
#Author: kz
#Created Time: 


#main

#创建暂存文件
temp_file=`mktemp port_status.txt`

#1、判断依赖命令telnet是否存在,前真才执行,如果没有命令,则!为真,执行后面
[ ! -x /usr/bin/telnet ]&&echo "telnet: not found command"&& exit 1

#2、测试端口 $1 IP    $2 port 并把结果放在临时文件中
( telnet $1 $2 <<EOF
quit
EOF
) &>$temp_file

#3、分析文件中的内容,判断结果
if egrep "\^]" $temp_file &>/dev/null;then
	 #4、打印结果
   echo "$1 $2 is open"
else
   echo "$1 $2 is close"
fi

#5、删除临时文件
rm -f $temp_file

EOF

Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell。

可以把EOF替换成别的字符串(如BBB),意思是把内容当作标准输入传给程序。

特殊用法(注释):

: << COMMENTBLOCK
   shell脚本代码段
COMMENTBLOCK
此时会将里面的shell脚本代码段变成注释。 : 代表shell中的空语句。

 

cat和eof结合时可对文件进行追加功能

cat >> /root/test.txt <<EOF 

123test 

hello word !

over

EOF

以上的脚本命令会在a.txt文件后面加上三行内容

 

参考

https://www.zutuanxue.com/home/4/6_102

https://blog.csdn.net/sprita1/article/details/42676307

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值