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?
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.