Script telnet avec expect/send

Résolu/Fermé
stou05 Messages postés 16 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 3 mars 2009 - 3 mars 2009 à 14:00
stou05 Messages postés 16 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 3 mars 2009 - 3 mars 2009 à 16:22
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
A voir également:

3 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 mars 2009 à 15:05
hello
il faut configurer
terminal length 0 ou set terminal length 0
2
stou05 Messages postés 16 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 3 mars 2009
3 mars 2009 à 15:11
Merci pour l'info.

Mais le terminal length 0 doit se faire ou ? dans mon script ?

Merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 mars 2009 à 15:56
juste avant le send "sho cable modem flap\r"
1
stou05 Messages postés 16 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 3 mars 2009
3 mars 2009 à 16:22
Ah ouais c'est bon ca marche, ja'i juste mis le terminal length avant de lancer la commande.. et ensuite je l'ai remis à sa valeure initiale... Merci beaucoup
0