shell脚本向端口发送消息并使用netcat监听

下载并安装netcat

yum install -y nc

开启监听10001端口

nc -l 10001,必须先开启监听,再向端口发送消息,否则会有如下报错
sentMessageToPort.sh: connect: Connection refused
sentMessageToPort.sh: line 12: /dev/tcp/hadoop03/10001: Connection refused

shell脚本向端口发消息

#!/bin/bash

# ${}:对变量的替换,同$var。
# $():对命令的替换,同``(反引号)。
# $(()):对内部内容进行整数运算$((var1*var2))。或将其他进制转换为十进制$((N#var)),其中N为进制。
# (())重定义变量值

# 重定向到文件 exec 3<>/home/hadoop/shScript/xxx
# 重定向到端口 exec 3<>/dev/"tcp"/hadoop03/10001

function sendmsg(){
        exec 3<>/dev/"tcp"/hadoop03/10001
        num=0;
        while (($num < 100))
        do
                echo "向端口发送数字$num"
                echo $num>&3    
                (( num += 1 ))
                sleep 1
        done
        exec 3<&-
}
echo "---start---"
sendmsg
echo "----end----"

sh sentMessageToPort.sh

发送端

shell脚本向端口发送消息并使用netcat监听_第1张图片

接收端

shell脚本向端口发送消息并使用netcat监听_第2张图片

完美了,可以用于简单的测试,比如flume数据采集

你可能感兴趣的:(Linux,shell脚本)