为什么用户bash文件在MAC中的root上不起作用

时间:2016-01-23 05:40:09

标签: bash .bash-profile

我在〜/ .bash_profile

上设置了一些别名

喜欢,别名artisan ='php artisan', 并输入:source~ / .bash_profile。 可以在终端中执行“工匠”。

但是当我换成Root(类型:sudo su)时,它不再起作用了。 终端显示找不到命令。

我搜索其他一些话题说有./bashrc 我复制了我的USER bash_profile中的所有内容 到./bashrc,并重新加载它,仍然无法正常工作

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

2 个答案:

答案 0 :(得分:2)

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

(正如l' L' l指出,它的.bashrc不是./bashrc)

答案 1 :(得分:0)

~/.bashrc会自动获取,因为它位于您的主目录(~)中。 但是,当您更改为root时,您的主目录也会更改。 您可以输入以下命令来测试:

$ sudo su
$ echo ~
/var/root

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