Script telnet avec expect/send
Résolu
stou05
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
stou05 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
stou05 Messages postés 16 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de créer un script pour aller en telnet sur une station de tête, exécuter une commande et récupérer le résultat de cette commande. Mon petit script fonctionne correctement pour des commande dont le résultat ne dépasse pas une page. En effet, si le résultat de la commande exécutée est plus long qu'une page, mon expect ne marche pas, car la fin de la page n'est plus le shell mais par exemple -- More -- pour afficher la page suivante. Voici le script :
#!/usr/local/bin/expect
spawn telnet xxx.xxx.xxxx.xxx 23
expect "Password: "
send "xxxx\r"
expect "myCMTS>"
send "ena\r"
expect "Password: "
send "xxxxx\r"
expect "myCMTS#"
send "sho cable modem flap\r"
expect "myCMTS#"
send "exit\r"
expect eof
Dans ce script, si la commande sho cable modem flap a un résultat plus petit qu'une page cela fonctionne, car le expect attend la bonne ligne (mon shell). Par contre si le résultat de la commande est plus long qu 'une page, le script ne fonctionne pas car je ne devrais pas attendre mon shell mais le --More-- pour passer à la page suivante...
Quelqu un aurait une idée pour avoir directement le résultat entier de la commande sans passer par les -- More--
Merci,
Salutations
Je suis en train de créer un script pour aller en telnet sur une station de tête, exécuter une commande et récupérer le résultat de cette commande. Mon petit script fonctionne correctement pour des commande dont le résultat ne dépasse pas une page. En effet, si le résultat de la commande exécutée est plus long qu'une page, mon expect ne marche pas, car la fin de la page n'est plus le shell mais par exemple -- More -- pour afficher la page suivante. Voici le script :
#!/usr/local/bin/expect
spawn telnet xxx.xxx.xxxx.xxx 23
expect "Password: "
send "xxxx\r"
expect "myCMTS>"
send "ena\r"
expect "Password: "
send "xxxxx\r"
expect "myCMTS#"
send "sho cable modem flap\r"
expect "myCMTS#"
send "exit\r"
expect eof
Dans ce script, si la commande sho cable modem flap a un résultat plus petit qu'une page cela fonctionne, car le expect attend la bonne ligne (mon shell). Par contre si le résultat de la commande est plus long qu 'une page, le script ne fonctionne pas car je ne devrais pas attendre mon shell mais le --More-- pour passer à la page suivante...
Quelqu un aurait une idée pour avoir directement le résultat entier de la commande sans passer par les -- More--
Merci,
Salutations
A voir également:
- Script telnet avec expect/send
- Local send - Télécharger - Divers Utilitaires
- Script vidéo youtube - Guide
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Send personally - Télécharger - Gestion de données
Mais le terminal length 0 doit se faire ou ? dans mon script ?
Merci