我一直在做一个 Python/Django 项目,我刚刚发现了 './manage.py dbshell' 命令。它会读取您的配置文件以获取数据库凭据并为您启动一个数据库 shell。
在底层,Django 使用 Python os.execvp (http://docs.python.org/library/os.html#os.execvp) 函数。我无法在 Java/Ant 中找到任何类似的东西,但我确实发现您可以将正在运行的进程重定向到您的 TTY (mysql > tty
),但尝试为此创建任务似乎不起作用。
<target name="test">
<exec executable="/bin/sh">
<arg value="-c" />
<arg value="mysql -u foo -pbar > `tty`" />
</exec>
</target>
当我运行这个任务时,我没有得到数据库外壳,并且在当前目录中创建了一个名为“not a tty”的文件。
有没有人对我如何从 ant 启动交互式过程有任何其他想法?