我遇到以下问题。
exec 3<>/dev/tcp/$1/37491
echo -ne 060e2b3 00$hexdec$cmdhex | perl -pe 's/([0-9a-f]{2})/chr hex $1/gie' >&3
cat <&3
我有一个服务器,我发送一个十六进制字符串与端口/ tcp连接。但是因为我通过终端使用putty我的第一个问题是XML响应总是说PuTTY并且它不会逃脱。我还需要将回复有时放回数组中,我已经尝试了
array=`cat <&3`
echo "Array items:"
for item in ${array[*]}
do
printf " %s\n" $item
done
并且我相信因为猫没有正常退出它只是保持打开阵列没有完成?
感谢您的高级帮助
答案 0 :(得分:2)
您需要指定超时吗?
while read -t 5 line <&3; do
echo "$line"
(( Lines++ ))
done
exec 3>&-
答案 1 :(得分:0)
也许您需要关闭TCP / IP套接字?
exec 3>&-