スクリプトを実行して、expect を使用して Procurve 4204vl スイッチに接続しようとしています。これは私が作成したコードです:
#!/usr/bin/expect -f
set timeout 20
spawn ssh -l user 192.168.0.10
expect "user@192.168.0.10'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"
これを単に を使用して実行しましexpect script.exp
たが、問題は次のエラーが発生したことです。
- ルートは削除されません
スクリプトの実行が終了した後、画面に次のエラーが表示されました。
"expect "Do you want to log out [y/n]?"" 内から呼び出された "y/n" を実行中に無効なコマンド名 "y/n" を続行するには、任意のキーを押します (ファイル "script.exp" 19 行目)。
では、どうすればこの問題を解決できますか? ありがとうございました。
"exit"
PS: すべての行とログアウトの質問にコメントを付けてから、"interact"
コマンドの最後の行を追加すると、スクリプトは正常に動作します。