首页 > 解决方案 > 期待更多匹配 cr/lf 的行

问题描述

尝试匹配捕获的 2 行的所有可能性。它回复Already in Advanced mode\x0d\x0aCX_CM>(我将特价翻译成十六进制),我尝试expect "Already in Advanced mode*C?_CM>"expect "Already in Advanced mode\r\nC?_CM>"expect "Already in Advanced mode\r*C?_CM>"或其他任何东西,但没有人工作。它以超时或下一次发送不匹配结束。请问有什么想法吗?谢谢吉里

添加调试:

send: sending "SECURE ON\r" to { exp5 }
expect: does "" (spawn_id exp5) match glob pattern "password?\[y/n]:"? no
"password:"? no
"Already in Advanced mode\r\nC?_CM>"? no
SECURE ON
Already in Advanced mode
CX_CM>
expect: does "SECURE ON\r\nAlready in Advanced mode\r\nCX_CM>" (spawn_id exp5) match glob pattern "password?\[y/n]:"? no
"password:"? no
"Already in Advanced mode\r\nC?_CM>"? yes
expect: set expect_out(0,string) "Already in Advanced mode\r\nCX_CM>"
expect: set expect_out(spawn_id) "exp5"
expect: set expect_out(buffer) "SECURE ON\r\nAlready in Advanced mode\r\nCX_CM>"
send: sending "PASSWORD ADMIN\r" to { exp5 }
invalid command name "ADMIN"
    while executing
"ADMIN"

标签: expect

解决方案


我是不是很傻,它在下面几行,没有转义 [.

Changed user \\\[ADMIN] password\r\nC?_CM>

推荐阅读