私はPython/Djangoプロジェクトに取り組んでおり、 './manage.py dbshell'コマンドを発見しました。データベース資格情報の設定ファイルを読み込み、データベースシェルを起動します。antタスクからデータベースシェルを開きますか?
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から対話型プロセスを起動する方法について、他のアイデアを持っていますか?
execvpのはEXECVの一部(ありますhttp://linux.about.com/library/cmd/blcmdl3_execv.htm)ファミリの関数です。 – Toxygene