[EXPECT] besoin d'info

besoin d'info [EXPECT] - Divers - Programmation

Marsh Posté le 18-12-2009 à 17:00:18    

salut à tous,
 
je souhaite développer une "macro" en Expect pour intéroger des équipements Cisco.
 
En, j'ai un soft qui sait interpreter le langage EXPECT et j'ai besoin d'aller intéroger tout une liste de switchs pour vérifier certains paramêtres.
 
Par exemple, si le VTP est en mode "transprent" alors afficher la liste des VLAN du switch. si le VTP est en mode client alors je referme et passe au prochain switch.
 
J'ai bien saisi comment fonctionne l'expect mais je n'ai pas trouvé d'explication sur la syntaxe des "conditions".
 
Si quelqu'un peut m'aider, je suis preneur.
J'ai déja les commandes à utiliser pour vérifier le mode du VTP.
 
 
Merci

Reply

Marsh Posté le 18-12-2009 à 17:00:18   

Reply

Marsh Posté le 21-12-2009 à 08:28:01    

personne ne connait ce langage ?

Reply

Marsh Posté le 21-12-2009 à 09:28:57    

Si si, y a bien des if/toussa
 
http://en.wikipedia.org/wiki/Expect

Reply

Marsh Posté le 21-12-2009 à 10:27:21    

oui mais ce sont des "if" de variable alors que moi je veux un "if" en fonction du résultat de ma commande.
 
Tu vois ce que je veux dire ?
 
Par exemple faire si je voulais voir les VLAN autorisés dans un lien trunk :
sh run int f0/1 | incl switchport mode
if "switchport mode trunk"
then "sh run int f0/1 | incl switchport trunk allowed vlan"
else "exit"

Reply

Marsh Posté le 21-12-2009 à 11:15:19    

Et heuu, tu pourrais pas mettre le contenu du résultat de ta commande dans une variable, avant de le tester ?

Reply

Marsh Posté le 21-12-2009 à 13:00:19    

tu fais ça comment ?
désolé mais je suis vraiment pas programmeur...


Message édité par poupouilloux le 21-12-2009 à 13:00:43
Reply

Marsh Posté le 21-12-2009 à 13:17:10    

voici ce que j'ai fais mais qui ne marche pas
j'ai enelvé toute la partie authentification qui fonctionne bien.
 
send "sh run int f0/1 | incl switchport mode\r"
expect {  
   "switchport mode trunk" {
        send "sh run int f0/1 | incl switchport trunk allowed vlan\r"  
                           } \
   "switchport mode access" {  
        close  
          }
}        
 
 
une fois qu'il a reçu le résultat de la commande "sh run int f0/1 | incl switchport mode"  
il ne fait rien  :??:  :heink:


Message édité par poupouilloux le 21-12-2009 à 13:18:34
Reply

Marsh Posté le 06-01-2010 à 16:59:55    

UP
 
 
 j'utilise un logiciel qui sait executer des script EXPECT pour faire des requêtes sur des équipements Cisco.  
 
je cherche à faire à voir uniquement le résultat de cette commande :  
show interface FastEthernet0/5 | incl FastEthernet  
 
cette commande permet d'obtenir l'état de l'interface  
 
je n'arrive pas à obtenir uniquement le résultat de cette commande qui devrait être du genre :  
FastEthernet0/5 is Down, line procol is Down (not connected)  
 
j'ai essayé :  
exp_send "show interface FastEthernet0/5 | incl FastEthernet \r"  
expect "#"  
set output $expect_out(buffer)  
puts "output contains '$output'"  
 
 
mais ça me donne :  
show interface FastEthernet0/5 | incl FastEthernet  
FastEthernet0/5 is Down, line procol is Down (not connected)  
$hostname#  
 
donc il y a trop d'infos dans le résultat.  
 
Si quelqu'un peut m'aider je lui en serai éternellement reconaissant  
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed