shell命令发起TCP连接和发送数据

有线网络连接:电脑192.169.5.55,板子192.169.5.241,监听端口都是8005

电脑做服务端:

        使用exec 9>/dev/tcp/192.169.5.55/8005发起客户端连接,echo发送数据,

exec怎么接收和显示数据呢?? cat &9?

exec在脚本中执行,需要使用source命令,否则需要bash解析执行,后台执行也需要bash解析。

 板子做服务端:

shell做TCP服务器,使用nc或者netcat命令:

#!/system/sbin/bash

status_start="Start"
status_stop="Stop"

# main (netcat) TCP create
cd /data
rm_file
rm -rf /dev/fd
ln -s /proc/self/fd /dev/fd
mkfifo fifo_in

#read line
while IFS= read -r line; do

	#eg.   line="[Connect][Start]"
	type=$(echo $line | awk -F "[" '{print $2}' | awk -F "]" '{print $1}')
	status=$(echo $line | awk -F "[" '{print $3}' | awk -F "]" '{print $1}')
	case $type in
		"TestConfig")
			if  [ $status == $status_start ];then
                echo "[TestConfig][Respond][Success]"
			fi
			if  [ $status == $status_stop ];then
				echo "[TestConfig][Respond][STOP Success]"
			fi
			sleep 1
			;;
		"Heartbeat")
			;;
		"Reboot")
				echo "[Reboot][Respond][Success]"
				reboot
			;;
		*)
			echo "error!["$line"]" >> $LOGPATH
		;;
	esac
done < <(nc -lp 8007 < fifo_in) > $fifo_name

rm -rf fifo_in

如遇提示:/system/opt/scripts/factest.sh: line 652: syntax error: unexpected redirection,需要把/bin/sh换成/system/sbin/bash。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值