Linux/Unix Shell Scripting - Respuesta automática sh to sh

   
Vista:

Respuesta automática sh to sh

Publicado por Carlos Gomez (5 intervenciones) el 11/09/2013 23:21:18
Hola,

Se me presenta una situación en la que he de rellenar repetidas veces formularios de un script. Es muy sencillo pero me resultaría más rápido crear un script que los rellenara automáticamente.

ejecuto por ejemplo formulario1.sh
Me hace preguntas y yo las respondo.

¿Como puedo controlar la interacción con formulario.sh desde autoFormulario.sh?
¿Podrían enseñar un ejemplo de como seria el código?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Respuesta automática sh to sh

Publicado por xve (254 intervenciones) el 12/09/2013 07:23:57
Hola Carlos, según entiendo, lo que quieres hacer, es ejecutar repetidas veces un script que solicita información y ir rellenando-la automáticamente desde otro script...

Para hacer esto, tienes que hacer tu script con expect, el cual espera contenido para luego el analizar y responder...
http://linux.die.net/man/1/expect

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta automática sh to sh

Publicado por Tom (253 intervenciones) el 13/09/2013 08:16:18
en autoFormulario.sh:

formulario1.sh <<-!
respuesta1

respuesta2
respuestax
!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta automática sh to sh

Publicado por Carlos Gomez (5 intervenciones) el 13/09/2013 17:17:20
Hola,

He estado probando con expect, pero algo no entiendo.
En los ejemplos que he encontrado se hacen conexiones scp, los adapto pero no me funciona me dice que tengo un error de sintaxis.

este por ejemplo

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/expect -f
spawn telnet "ip_host_remoto"
expect "login:"
send "USUARIO\r"
expect "Password:"
send "CLAVE\r"
expect ">"
send "ls -l\r"
expect ">"
exit

mi modificación

1
2
3
4
5
#!/usr/bin/expect
spawn php console/input
expect "User: "
send "Paco Martin"
....

y asi, pero no funciona me da error de sintaxis.

¿Esto estaría teoricamente bien?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Respuesta automática sh to sh

Publicado por xve (254 intervenciones) el 13/09/2013 19:22:51
Hola Carlos, como lo ejecutas???

tiene que ser algo como
expect file
o con derechos de ejecución
./file

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta automática sh to sh

Publicado por Carlos Gomez (5 intervenciones) el 13/09/2013 21:00:06
Hola,

Hay puede estar el problema!

$ sh ./autoFormulario.sh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta automática sh to sh

Publicado por Carlos Gomez (5 intervenciones) el 13/09/2013 21:42:22
Ok,

Ejecutandolo con expect lanza el formulario pero no rellena la respuesta, se para y ya esta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Respuesta automática sh to sh

Publicado por xve (254 intervenciones) el 14/09/2013 10:08:20
Hola Carlos, eso es porque no encuentra "User:" puede ser que haya algún carácter anterior o posterior?

Te recomiendo que leas un manual de expect
http://www.lawebdelprogramador.com/cursos/Linux/4732-Tutorial_de_expect,_v0.6.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Respuesta automática sh to sh

Publicado por Carlos Gomez (5 intervenciones) el 14/09/2013 18:52:55
Conseguido, Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar