期望脚本不匹配输出

时间:2014-06-20 12:57:47

标签: expect

在我的智慧结束时:

需要匹配以下字符串,该字符串也是彩色编码的。行情是说明右边的空白区域。

"FuseMQ:karaf@root> " 

只使用" root"在>之前发送提示已准备好,在某些情况下,并非全部。

expect "root" {

0m:\u001b[36mkaraf\u001b[0m\u001b[1m@\u001b[0m\u001b[34mroot"
send: sending "osgi:install wrap:file:/apps/fuse/fuse-mq-7.1.0.fuse-047/ 
lib/ojdbc6-11.2.0.2.0.jar\r" to { exp4 }

我找不到有效的正则表达式。 expect -d的输出在工作时如下

u001b[0m\u001b[1m@\u001b[0m\u001b[34mroot\u001b[0m> " (spawn_id
 exp4) match glob pattern "root"? yes

但我无法弄清楚如何匹配它。

2 个答案:

答案 0 :(得分:0)

试试这个expect "root\\u001b\[0m> $"

答案 1 :(得分:0)

你可以做这样的事情,在那里你有你想要匹配的字符串,并允许其中的“东西”。

set prompt {FuseMQ.*:.*karaf.*@.*root.*> $}
expect -re $prompt