2016-07-06 2 views
-3

J'essaie de créer un script pour enregistrer une sortie de la version de commande show dans Cisco.Comment enregistrer la sortie attendue dans bash

J'ai besoin d'établir une connexion avec un serveur pour la connexion ssh, puis j'ai une connexion avec le périphérique.

Dans le fichier out.txt, j'ai la sortie de la première connexion, la connexion ssh, mais je ne sais pas comment enregistrer la sortie de la version show

#!/usr/bin/expect -f 
#!/bin/sh 
spawn ssh -l user x.x.x.x 
expect "login as:" 
expect "password:" 
send "password\r" 
expect "$\r" 
send "telnet nemonic\r" 
expect "$\r" 
expect "login:" 
send "user\r" 
expect "password:" 
send "password\r" 
expect "*>" 
send "terminal length 0\r" 
send "show version \r" 
expect "*>" 
set results $expect_out(buffer) 
set config [open out.txt w] 
puts $config $results 
close $config 
send "exit\r" 
expect eof 
send "\r" 
send "exit\r" 

Pourriez-vous me aider?

Meilleures salutations

+2

Vous ne pouvez pas avoir deux shebangs. – 123

+0

^^ Cela étant dit, je pense que 'expect' interpréterait la deuxième ligne comme un commentaire et l'ignorerait. Le script entier est un script 'expect 'pur. – anishsane

+0

l'attente fonctionne très bien, le problème est la sortie, il suffit d'enregistrer la première connexion, mais si vous me l'avez dit, comment mettre en œuvre que dans une ligne, je le fais, merci @anishsane – user243380

Répondre

0

Je résoudre avec

log_file -noappend status.txt 

après la commande Afficher une version

Merci & & Cordialement