我正在使用期望响应网络服务。但是,我在Wireshark中注意到,当我执行以下操作时:
send "mystring\r\n"
它在电汇上被翻译为:
“MyString的\ n” 个
我已尝试设置stty raw
以及\r
,\n
的各种组合,以及从expect中发送ASCII代码。 Expect似乎正在将这些组合中的任何一个转换为\n
。问题是服务器似乎需要\r\n
才能接受输入。我已经能够确定这个,因为当我在expect中使用“interact”,然后从shell中键入^M
(control-v enter)时,Wireshark会看到一个字符串:
“mystring \ r \ n”
通过网络发送,服务器正确处理输入。有没有办法在没有翻译的情况下正确发送这种组合?
答案 0 :(得分:3)
您是直接使用stty
还是使用set stty_init raw
脚本中的expect
? (expect
的{{1}}命令在您的终端上运行,而不是pty。)您可能还需要查看stty
选项-nottyinit
}。