Foros del Web » Administración de Sistemas » Unix / Linux »

script tcl/expect

Estas en el tema de script tcl/expect en el foro de Unix / Linux en Foros del Web. Hola, Soy bastante nuevo en tcl, y estoy un poco atascado con un script. os explico un poco lo que quiero hacer, y después os ...
  #1 (permalink)  
Antiguo 11/10/2012, 05:21
 
Fecha de Ingreso: octubre-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
script tcl/expect

Hola,

Soy bastante nuevo en tcl, y estoy un poco atascado con un script. os explico un poco lo que quiero hacer, y después os pego el código.

Me tengo que conectar a un equipo remoto. >>>>OK
Tengo que ejecutar un comando "show ..." y guardar la salida en una variable.>>>OK
Ahora viene lo complicado (al menos para mi):
Esta salida es de este tipo:

device name profile settings signals tx bytes rx bytes
======= ===== ====== ======== ====== ========
ttyS1 cas 9600 8N1 DSR|CD|RI 19484 504794
ttyS2 cas 9600 8N1 8325 452904
ttyS3 cas 9600 8N1 0 0
...

Tengo que consultar en esta tabla (que se encuentra en la variable $var del código que pondré a continuación), la columna "tx bytes" de todos los ttyS, y si es mayor de 100 que me muestra el número de ttySx.

Creo que la mejor opción, es pasarlo a una lista, pero me he leído tropecientas páginas, pero no doy con este caso en particular.

Por favor que debo realizar.

Code:

#!/usr/bin/expect -f
spawn telnet 172.24.123.252
expect "Type the hot key to suspend the connection: <CTRL>Z"
send "\r"
expect "login:"
send "root\n"
expect "Password:"
send "linux\n"
expect "#"
send "cli\n"
expect "cli->"
exp_send "show monitoring/serial_ports/\n"
expect "MORE"
send "\r"
send "\r"
set var $expect_out(buffer);

#set tty "device name"
#set tx "tx bytes"
#set rx "rx bytes"
#if {$tx > 50} {puts "puerto ocupado $tty"}
expect "cli>"
send "quit\n"
expect "#"
send "exit\n"
expect "%"


Muchas Gracias

Saludos

Etiquetas: comando, ip, linux, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.