2011-10-22 122 views
0

我想知道如何使用TCL獲取上一個命令的輸出。TCL數據捕獲問題 - 期望

我現在有以下結構:

exp_send -i $spawn_id "show port-access supplicant\r" 

set buff "" 
expect -regexp {".*"} 
    expect -regexp ".*#" {send "show port-access supplicant\r"} 
expect eof 

*此時的命令返回正確的信息,但我不知道如何將它存儲到一個變量。

我在閱讀有關expect_out的內容,但是我無法完成它!

回答

0

您可以使用expect緩衝區來執行此操作。完成你的2場比賽:

expect -regexp ".#" {send "show port-access supplicant\r"} 
expect -regexp ".#"; #Match the prompt again after the device output returns 

然後再試試:

puts $expect_out(buffer) 
+0

你好,這是我所得到的。 我得到以下輸出: 1234 - 結束 Client_A# - 123 Client_A# 我使用看跌期權 「1234 - $ expect_out(緩衝區) - 123」 ......我不知道爲什麼我「M沒有得到正確的信息 輸出: 端口訪問請求者狀態 請求者持有驗證啓動最大 港口國時期的超時週期起始端口身份 1認證60 30 30 3用戶 @尼爾 - 拜恩 – Marco

+0

我所有的問題是正則表達式..我現在正在調整參數,謝謝r給我光! – Marco