MySQL を使用していますが、現在の作業ディレクトリを変更したいと考えています。私は実行しようとしました:
mysql> system cd './my_dir'
ただし、これは機能しないようです。誰かが同様の問題に遭遇しましたか?
システムは、シェルコマンドを実行するために子プロセスを生成します。
現在の作業ディレクトリはプロセスレベルのプロパティであるため、子プロセスから親で変更することはできません。それが機能しない理由です。
http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.htmlでMySQLドキュメントを簡単にスキャンしましたが、作業ディレクトリを変更する直接CDコマンドが見つかりませんでした。冒険好きな人なら書けると思います…。
If you want to change your current working directory for a script, then use the && between the CD and script so it will change directory and then if that's successful it will execute the second command.
mysql> SYSTEM cd /home && ls
探しているのは、シェル コマンドへのエスケープです。\!
mysql>\! cd ./my_dir
これを使用してシェルに完全にエスケープし、mysql 環境に戻ることもできます。
mysql>\! bash
bash>cd ./my_dir
bash>exit
mysql>SELECT * ALL FROM <table>;