2011-09-17 6 views
2

私はMySQLにいて、現在の作業ディレクトリを変更したいと思います。私は実行しようとしました:mysqlシステムコマンド

mysql> system cd './my_dir' 

しかし、これは動作していないようです。誰も似たような問題に遭遇しましたか?

+0

オペレーティングシステム 'windows'または' linux'ですか? 'system'コマンドは' unix/linux'プラットフォームでのみ動作するためです。 –

+0

オペレーティングシステム= linux – Alex

+0

あなたは何を達成しようとしていますか?参照してください。 – thomasfedb

答えて

5

システムはそうあなたが親にそれを変更することはできません....

現在の作業ディレクトリは、プロセス・レベルのプロパティです.....シェルコマンドを実行するために子プロセスを生成するために起こっています子プロセス。それがうまくいかない理由です。

私は簡単にhttp://dev.mysql.com/doc/refman/5.5/en/mysql-commands.htmlでMySQLドキュメントをスキャンしましたが、作業ディレクトリを変更する直接のCDコマンドは表示されませんでした。そして、あなたも完全にシェルに脱出するために使用することができ\!

mysql>\! cd ./my_dir 

と:私はあなたが探していることは、シェルコマンドにエスケープされ

+0

mysqlに入ったら、現在の作業ディレクトリを変更する方法はありますか? – Alex

+0

文書化されていなくても、既に "cd"または "chdir"コマンドがあるはずです。それらを試しましたか? "C"で拡張子を書くことができ、あるいはソースを変更したい場合は、ディレクトリ名を使ってchdirシステムコールを呼び出すだけです。 http://linux.die.net/man/2/chdir – Paul

+1

を参照してください。通常は、MySQLシェルを起動する前に、スクリプトを含むディレクトリのように、選択したディレクトリに切り替えます。 – Claude

-2

....冒険者が1を書くことができると思いますmysql環境に戻ってください。

mysql>\! bash 
bash>cd ./my_dir 
bash>exit 
mysql>SELECT * ALL FROM <table>; 
+0

ちょっと@MrSampson、素敵な最初の答え。 – thomasfedb

+0

私はこれがすべて**のために働くように思われるが、**ローカルの作業ディレクトリを変更する**と思う。 Grrr。 bashを終了して\を実行すると! pwdは、mysqlが実行された元のディレクトリを表示します。 – MrSampson

+2

これは、あなたが '\!あなたは新しいシェル環境を作り出しています。 – thomasfedb

2

あなたはそれはそれは、2番目のコマンドを実行します成功だ場合、それは、ディレクトリを変更しますので、CDとスクリプトの間& &を使用し、その後、スクリプトの現在の作業ディレクトリを変更したい場合。

mysql> SYSTEM cd /home && ls 
+0

これは有効で、 '/ home'の内容を表示しますが、現在の作業ディレクトリは変更しません。例えば。 mysqlは、mysqlシェルに入ったときのCWDに関連するファイルを探します – shturm

関連する問題