Я нахожусь в MySQL и хотел бы изменить текущий рабочий каталог.Я пытался выполнить:
mysql> system cd './my_dir'
Однако, похоже, это не работает.Кто-нибудь сталкивался с подобной проблемой?
Система будет порождать дочерний процесс для запуска команды оболочки .....
Текущий рабочий каталог является свойством уровня процесса .... поэтому его нельзя изменить в родительскомдочерний процесс.Вот почему это не работает.
Я кратко просканировал документы MySQL на http://dev.mysql.com/doc/refman/5.5/en/mysql-commands.html, но не увидел прямой CD-команды, которая изменяет рабочий каталог.Я думаю, что предприимчивый человек мог бы написать один ....
Если вы хотите изменить текущий рабочий каталог для сценария, то используйте символ && между компакт-диском и сценарием, чтобы он сменил каталог, а затем в случае успеха выполнит вторую команду.
mysql> SYSTEM cd /home && ls
Что вам нужно, так это команда escape to shell: \!
\!
mysql>\! cd ./my_dir
Вы можете даже использовать ее, чтобы полностью перейти в оболочку и затем вернуться в среду mysql.
mysql>\! bash bash>cd ./my_dir bash>exit mysql>SELECT * ALL FROM <table>;