为什么用户 bash 文件在 MAC 中无法在 root 上运行

why user bash file doesn't work on root in MAC

我在 ~/.bash_profile

上设置了一些别名

喜欢,别名 artisan='php artisan' , 并输入: source ~/.bash_profile 。 在终端执行"artisan"就可以了

但是当我切换到 Root(type:sudo su) 时,它不再工作了。 终端显示找不到命令。

而且我搜索了一些其他主题说有./bashrc 我复制了我的用户 bash_profile 中的所有内容 到 ./bashrc ,并重新加载它,仍然不起作用

有人能告诉我为什么会遇到这个问题吗?非常感谢。

~/.bashrc 是自动获取的,因为它在您的主目录 (~) 中。 但是,当您更改为根目录时,您的主目录也会更改。 您可以通过键入以下内容进行测试:

$ sudo su
$ echo ~
/var/root

当您考虑将 ~/.bashrc 放入根主目录时:非常糟糕的主意。不要弄乱那个目录。但是,您可以将它放入 /etc/bashrc 中,在这种情况下,它将为系统上的所有用户提供资源。

您可以使用 sudo -s 而不是 sudo su。它会让你的常规环境保持完整,包括将 $HOME 设置为你的常规用户主目录而不是 root 用户的主目录,这意味着 bash 将 运行 .bashrc 从你的用户家而不是在 root 家寻找它。

(正如我所指出的,它是 .bashrc 而不是 ./bashrc)