私は、expectコマンドを使用してIOS Ciscoルータの命令を自動化するスクリプトを作成しています。 、最後のexpect命令は実行されません
#!/bin/expect
#log_user 0
set timeout 60
set mode [lindex $argv 0]
spawn ssh [email protected]
expect "*assword:" {
send "mypassword\r"
}
expect "*>" {
send "enable \r"
}
expect "*#" {
send "conf t \r"
}
expect "*(config)" {
send "interface Serial0/0/0 \r"
send "clock rate 14400\r"
}
私の問題があり、このスクリプトは、「ルータ1(設定)#」の状態で停止:
ここで私が書いたスクリプトがあります。 しかし、スクリプトの最後にinteract
コマンドを置くと、すべてが正しく動作しています。ユーザーは正しくインターフェイス設定モードに入り、クロックレートは十分に更新されます。 しかし、実際には、私はユーザーが対話することを望んでいません。
だから私は本当に何が起こっているか理解していないと、なぜ私はちょうどそのようなスクリプトを終了することはできません
...何か手がかりを持っている場合は
...?
あなたのスクリプトを 'expect -d'で実行して、デバッグ出力を調べてパターンが一致しているかどうか確認してください。 –