我目前正在尝试构建一个发送广播 UDP 数据包的 shell 脚本。我的问题是我的 echo 正在输出参数,我不知道为什么。这是我的脚本:
#!/bin/bash
# Script
var1="\xdd\x02\x00\x13\x00\x00\x00\x10\x46\x44\x30\x30\x37\x33\x45\x31\x39\x39\x45\x43\x31\x42\x39\x34\x00"
var2="\xdd\x00\x0a\x\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x02"
echo -ne $var1 | socat - UDP4-DATAGRAM:255.255.255.255:5050,broadcast
echo -ne $var2 | socat - UDP4-DATAGRAM:255.255.255.255:5050,broadcast
使用wireshark,我可以看到脚本将-ne 打印为字符,并且没有将每个\xHH 转换为相应的ASCII 字符。
谢谢!