终端自动将我移出目录?

终端自动将我移出目录?

我注意到一个奇怪的问题,每次我使用 cd 命令进入 MySQL 数据目录时,似乎都会被强制退出。我在 OS X 10.6.1 上使用 Terminal.app。

joebmaclap:mysql joeb$ cd /usr/local/mysql

joebmaclap:mysql joeb$ sudo cd data
Password:

joebmaclap:mysql joeb$ pwd
/usr/local/mysql

请注意,我正在 cd 到数据目录,但在操作结束时,我回到了 mysql 目录。我以前从未见过这样的事情,我不知道这是 bash 还是 MySQL 的问题。有人知道发生了什么吗?

答案1

这是因为您使用了 sudo,而 sudo 的全部用途就是执行一个命令。 sudo cd 命令退出后,您将返回到执行该命令时所在的目录。

如果您需要留在该目录中,则假设一个 root shell,或者简单地使用相对于该目录的 sudo 执行您需要的命令。

sudo su -
# or
sudo data/foo

(其中 foo 是数据中的某个程序)。

相关内容