期望脚本没有正确发送新行

时间:2012-04-09 04:27:30

标签: shell keyboard newline expect

我正在使用期望响应网络服务。但是,我在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”

通过网络发送,服务器正确处理输入。有没有办法在没有翻译的情况下正确发送这种组合?

1 个答案:

答案 0 :(得分:3)

您是直接使用stty还是使用set stty_init raw脚本中的expect? (expect的{​​{1}}命令在您的终端上运行,而不是pty。)您可能还需要查看stty选项-nottyinit }。