2011-04-05 10 views

Respuesta

11

he encontrado expect para hacer exactamente lo que quiero, esperar un cierto salida y luego actuar en consecuencia it:

expect << EOF 
spawn telnet localhost 4242 
expect -re ".*>" 
send "show network\r" 
expect -re ".*>" 
send "exit\r" 
EOF 
-1

Si usted no tiene que entrar ni nada, puede utilizar un "documento aquí" como esto:

telnet localhost 4242 << EOF 
show network 
EOF 
+1

no no funciona –

+2

Sí, hace absolutamente; por ejemplo, si usa el puerto 25, puede enviar correo de esta manera, o el puerto 80, puede buscar una página web de esta manera: la gente lo hace todo el tiempo. Como dije, funciona si no necesita iniciar sesión. Ahora, si desea proporcionar más detalles que "no funciona", tal vez podamos ayudarlo a descubrir qué hacer. –

+1

eso es más legibles: http://pastebin.com/ZdckuFxq cuando utilizo lo que me sale publicado: Tratando :: 1 ... Tratando 127.0.0.1 ... Connected to localhost . El carácter de escape es '^]'. Bienvenido al control OpenBSC interfaz Copyright (C) 2008-2010 Harald Welte, Holger Freyther Las contribuciones de Daniel Willmann, Jan Lübbe, Stefan Schmidt Dieter Spaar-, Andreas Eversberg licencia GPLv2 +: GNU GPL [...] permitido por ley. Conexión cerrada por un host externo. he usado ahora esperan conseguir lo que quiero esperan << EOF desove telnet localhost 4242 esperar -RE "*>" Enviar "Show Network \ r" esperar -RE "*>" envío "exit \ r" EOF –

Cuestiones relacionadas