Je travaille sur un script pour automatiser les instructions sur un routeur Cisco IOS, en utilisant les commandes expect.La dernière instruction expect n'est pas exécutée
Voici le script que j'ai écrit:
#!/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"
}
Mon problème est, ce script arrête à l'état "router1 (config) n". Mais si je mets une commande interact
à la fin de mon script, tout ceci fonctionne correctement. L'utilisateur entre correctement dans le mode de configuration de l'interface et la fréquence d'horloge est bien mise à jour. Mais le fait est que je ne veux pas que l'utilisateur interagisse.
Je ne comprends vraiment pas ce qui se passe et pourquoi je ne peux pas terminer simplement le script comme ça ...
Si vous avez des indices ...?
Exécutez votre script avec 'expect -d' et examinez la sortie de débogage pour voir si vos modèles correspondent. –