expect - 期待更多匹配 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"
解决方案
我是不是很傻,它在下面几行,没有转义 [.
Changed user \\\[ADMIN] password\r\nC?_CM>
推荐阅读
- elasticsearch - 什么相当于 group by 和 collect 作为弹性搜索中的列表?
- sql - ORA-00904: 标识符无效但表名和列名正确?
- angularjs - 在 angularjs 模块/控制器之间传递数据
- java - 使用 Java 构建 Couchbase 缓存应用程序
- selenium - 如何在子选项卡中获取元素的 XPath(Salesforce Lightning 组件)
- excel - VBA复制粘贴范围每7行,7次
- java - 在 EditText 中使文本着色
- bash - 将目录中所有文件的名称及其绝对路径写入 bash 中的 csv 文件
- hyperledger - Hyperledger Composer v0.19 在 ACL 中隐藏 Historian
- php - 有没有办法将三元运算符与空值合并结合起来?