作者 主題: 請問expect script 一個問題..(invalid spawn id)  (閱讀 5260 次)

0 會員 與 1 訪客 正在閱讀本文。

hongbin

  • 憂鬱的高中生
  • ***
  • 文章數: 101
    • 檢視個人資料
小弟有有一台 cisco router ,用command line 方式 telnet 過去時會產生以下的訊息

 User Access Verification
 
 Password:

當然這時便可開始輸入密碼進行驗證,一切都很正常,

但當小弟將這個步驟改成是用 expect方式 連過去時,

expect 檔名為 router.sh,內容如下:

#!/usr/bin/expect --
spawn telnet router_ip
expect "word:"
send "password\r"
expect ">"
interact

執行後卻會產生下面錯誤訊息:
spawn telnet route_ip
send: invalid spawn id (4)
    while executing
"send "password\r""
    (file "./router.sh" line 5)

網路上這方面的資料似乎比較少,請問各位先進是否曾經遇過類似的問題,謝謝..

thyme

  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 1281
    • 檢視個人資料
Re: 請問expect script 一個問題..(invalid spawn id)
« 回覆 #1 於: 2007-04-18 11:32 »
引述: "hongbin"
小弟有有一台 cisco router ,用command line 方式 telnet 過去時會產生以下的訊息

 User Access Verification
 
 Password:

當然這時便可開始輸入密碼進行驗證,一切都很正常,

但當小弟將這個步驟改成是用 expect方式 連過去時,

expect 檔名為 router.sh,內容如下:

#!/usr/bin/expect --
spawn telnet router_ip
expect "word:"
send "password\r"
expect ">"
interact

執行後卻會產生下面錯誤訊息:
spawn telnet route_ip
send: invalid spawn id (4)
    while executing
"send "password\r""
    (file "./router.sh" line 5)

網路上這方面的資料似乎比較少,請問各位先進是否曾經遇過類似的問題,謝謝..

你的 script 似乎沒什麼問題,會不會你這個 telnet 沒有成功?
先把 expect 及 send 幾行都 mark 起來測看看。

hongbin

  • 憂鬱的高中生
  • ***
  • 文章數: 101
    • 檢視個人資料
請問expect script 一個問題..(invalid spawn id)
« 回覆 #2 於: 2007-04-18 12:27 »
sorry,少給了一些資訊,小弟是在作業系統為winxp ,安裝cygwin
當這個expect 是透過 spawn ssh 方式到其他台主機時,是可正常work
但很奇怪,用spawn telnet 的方式就有問題,查看網路封包的狀態,連
telnet 的封包都沒送出,有可能是小弟的電腦有問題,小弟會在檢查看看
也謝謝版主大大的回覆...