2016-01-26 54 views
0

我有一些問題,我的劇本,我想期待減號後預計發送命令show |比較成junos路由器。expect腳本(期望的Junos路由器顯示減號|比較)

需要有人幫助我..

腳本

expect "#" 
send "show | compare\r" 

set total_error_minus 0 
expect -- "-" 
incr total_error_minus 

示例結果

[edit]<br> 
[email protected]_lab# show | compare<br> 
[edit interfaces em0]<br> 
- description B;<br> 
+ description C;<br> 
[edit interfaces em0 unit 1]<br> 
- description A;<br> 
+ description D;<br> 

[edit]<br> 
[email protected]_lab# <br> 

如何檢測和計數減演出結束後標誌|使用expect腳本比較命令?

+0

不要u需要發送'enter'關鍵?它不需要成爲'send'show | compare \ r「'嗎? – Dinesh

+0

噢,我想我錯過了把「\ r」,謝謝dinesh – IjanQlate

回答

0

使用標誌--指定任何期權類的參數。

expect -- "-" 
+0

謝謝Dinesh,絕對是我想要的。但如果顯示|比較結果如下:[編輯] pijan @ junos_lab#show |比較[edit interfaces em0] - 描述B; +說明C; [edit interfaces em0 unit 1] - description A; +說明D;我怎樣才能減去預期的腳本? – IjanQlate

+0

在原文中更新此信息。無法正確讀取代碼。 – Dinesh

+0

Dinesh,完成請求 – IjanQlate

0

你需要你的期望語句進入一個循環:

set total_error_minus 0 
send "show | compare\r" 
expect { 
    -- "-" {incr total_error_minus; exp_continue} 
    "[email protected]_lab# " 
} 
# continue with script ... 
+0

嗨,我已經試過這段代碼,但問題仍然無法解決此問題。預計減號不起作用 – IjanQlate

+0

刪除後工作;增量total_error_minus和下面的腳本..期待{ - 「 - 」 {增量total_error_minus exp_continue}「電信@ junos_lab#」},感謝格倫·傑克曼..不錯 – IjanQlate

+1

@SparK,該建議實際上編輯引入了一個語法錯誤。我回滾了。 –