2013-12-18 38 views
0

我正在使用expect-lite與路由器進行通信。然而路由器有一些自定義的橫幅消息集,並期望似乎不能很好地處理它。特別是,當我登錄到路由器時,光標被放置在以下位置。預計不能很好地處理橫幅消息

 
*********************************************** 
*            * 
*   some unuseful info here..  * 
*            * 
***********************************************($cursor) 

通常我可以只打了一個交互的shell輸入,然後它可以給我帶來正常的路由器的外殼,我期望的「*」,然後發送一個新的行字符,但它似乎沒有不工作得很好。

你可以對此有所瞭解嗎?

謝謝。

+0

請張貼您的代碼。 –

回答

2

我想要做的就是在腳本開始的某個地方添加exp_internal 1,這樣你就可以看到期望的接收情況,以及它爲什麼不符合你的模式。

如果您需要一些幫助來解釋您從中獲得的信息,請隨時將該信息添加到問題中。

+0

很好的建議。更多的評論,而不是答案。 –

+0

這是非常有幫助的,謝謝 – frankcui24

+0

我想你是對的,@ glennjackman。我的錯。 – James

0

默認選項爲expect(「glob」模式,記錄爲here),*是通配符,並且會匹配任何內容(不包括任何內容)。確保你期待的文字星號:

expect -re {\*$} 

在這裏我使用正則表達式查找字符串的結尾固定的星號。

+0

謝謝,我現在的工作與預期。儘管如果你聽說過它,它仍然不能用於expect-lite。感謝您的意見 – frankcui24