De http://ant.apache.org/manual/Tasks/exec.html:¿Cómo ejecutar una aplicación interactiva desde Ant script script?
Tenga en cuenta que no puede interactuar con el programa en forma de horquilla , la única manera de enviar de entrada a ella es a través de la entrada y atributos inputString. También tenga en cuenta que desde Ant 1.6, cualquier intento de leer de entrada en el programa en forma de horquilla se recibir un EOF (-1). Este es un cambio de Ant 1.5, donde tal intento bloquearía.
¿Cómo puedo iniciar e interactuar con el programa de consola interactiva de hormiga?
Lo que quiero hacer es similar a la funcionalidad drush sqlc, que es ejecutar el intérprete de cliente mysql utilizando las credenciales de base de datos adecuadas, pero no limitado a este caso de uso.
Aquí es un caso de uso de ejemplo:
<project name="mysql">
<target name="mysql">
<exec executable="mysql">
<arg line="-uroot -p"/>
</exec>
</target>
</project>
cuando se ejecuta utilizando la hormiga:
$ ant -f mysql.xml mysql
Buildfile: /home/ceefour/tmp/mysql.xml
mysql:
Enter password:
BUILD SUCCESSFUL
Total time: 2 seconds
Después de introducir la contraseña, se cierra inmediatamente.
comparar esto con lo que ocurre cuando se ejecuta directamente en la carcasa (comportamiento esperado):
$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1122
Server version: 5.1.58-1ubuntu1 (Ubuntu)
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
No funciona en mi caso de uso (ver pregunta revisada). ¿Puedes probar mi script Ant en tu sistema y decirme si funciona? –