我想運行一個腳本來連接到使用expect的Procurve 4204vl開關。 這是我創建的代碼:我運行這個使用簡單expect script.exp
使用期望連接到通過ssh開關
#!/usr/bin/expect -f
set timeout 20
spawn ssh -l user 192.168.0.10
expect "[email protected]'s password:"
send "1234"
send "\r"
expect "Press any key to continue"
send "j\r"
send "conf"
send "\r"
send "no ip route 89.19.238.2 255.255.255.255 192.168.0.12"
send "\r"
send "exit"
send "\r"
send "exit"
send "\r"
send "exit"
send "\r"
expect "Do you want to log out [y/n]?"
send "y"
,問題是我得到了這些錯誤:
- 的路線不會被刪除
我得到了以下腳本執行完成後屏幕上出現錯誤:
按下任意鍵可繼續執行無效命令名稱「y/n」 ,同時執行 「Y/N」 從 中調用 「期待 」是否要退出[Y/N]?「」 (文件 「script.exp」 第19行)
所以,怎麼可能我解決了這個問題? 謝謝。 PS:如果我對所有"exit"
行和註銷問題發表評論,然後在"interact"
命令中添加最後一行,該腳本可以正常工作。
謝謝格倫,您的使用大括號的解決方案工作正常。 現在我完成劇本與這些行: 期待{你想退出[Y/N]?} 發送「Y」 這裏的問題是在這種情況下,我只應該按「Y」無需按「Enter」鍵。我試圖通過發送「y」來模擬它,但它不起作用。相反,我只是得到了「你......」這個問題,腳本停在那裏......幾秒鐘後腳本最終確定下來。 – Argie
嘗試在發送「y」後添加'expect eof'' –
humm,no,「expect eof」不能解決問題。 – Argie