es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dando la entrada automática solicitada por un tarro.

Esta es una pregunta ficticia. Lamento preguntar.

Lanzo un jar que requiere algunos datos de entrada. Me gustaría automatizar este paso:

$ java -jar foo.jar
Type of treatment
0  [x] Extracción de los archivos de entrega
1  [ ] Instalación del parche o versión
input selection:
0
presione 1 para continuar, 2 para salir, 3 para mostrar de nuevo
1
Seleccione el directorio de registro []
/tmp/log
presione 1 para continuar, 2 para salir, 3 para mostrar de nuevo
1

Básicamente, tengo que responder “0 1 /tmp/log 1” cada vez que instalo este jar y me gustaría automatizar el proceso.

Intenté con un archivo “answer.txt” que contiene:

0
1
/tmp/log
1

Con el comando:

java -jar foo.jar < answer.txt

Sin embargo, no funciona.
No soy el propietario del jar y no puedo modificarlo.

¿Alguna pista?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Una posible solución puede ser utilizar una herramienta como Expect (https://core.tcl-lang.org/expect/index), la cual permite automatizar aplicaciones interactivas al proporcionar entradas y respuestas esperadas. Otra solución puede ser utilizar un lenguaje de script como Python o Bash para automatizar el proceso de entrada al simular la entrada del usuario a través de la línea de comandos. Sin embargo, ambas soluciones pueden requerir cierto nivel de conocimientos de programación y podrían no ser factibles para usuarios no técnicos.

Comments are closed.