#!/bin/bash
#Description:
#Author: Batac
#Created time: 2020/11/17 21:20
# 监控端口是否开启 服务是否存在
port_status(){
temp_file=`mktemp port_status.XXX`
#1, 判断依赖命令是否存在
[ ! -x /usr/bin/telnet ] && echo "telnet: not found command" && exit 1
# 测试端口 $1 IP $2 端口
(telnet $1 $2 << EOF
quit
EOF
# telnet 对应的端口 并且将访问输出写入文件
) &>$temp_file
# 判断文件中是否存在 ^] 这个是访问成功的标志
if egrep "\^]" $temp_file &>/dev/null;then
# -e 表示后边有转移字符 \033[32m 给字体添加颜色
echo -e "$1 $2 is \033[32m open \033[0m"
else
echo -e "$1 $2 is \033[31m close \033[0m"
fi
# 删除临时文件
rm -f $temp_file
}
# 调用函数 切记把参数传入
port_status $1 $2
使用效果: