为什么用户bash文件不';不能在MAC中使用root

为什么用户bash文件不';不能在MAC中使用root,bash,.bash-profile,Bash,.bash Profile,我在~/.bash_配置文件上设置了一些别名 比如,别名artisan='php artisan', 和类型:source~/.bash_profile。 可以在终端中执行“artisan” 但当我换成Root(类型:sudosu)时,它就不再工作了。 终端显示未找到该命令 我搜索了一些其他的话题,说有。/bashrc 我复制了我的用户bash_档案中的所有内容 到./bashrc并重新加载,仍然无法工作 有人能告诉我为什么我会有这个问题吗?非常感谢。~/.bashrc是自动来源的,因为它位于您

我在~/.bash_配置文件上设置了一些别名

比如,别名artisan='php artisan', 和类型:source~/.bash_profile。 可以在终端中执行“artisan”

但当我换成Root(类型:sudosu)时,它就不再工作了。 终端显示未找到该命令

我搜索了一些其他的话题,说有。/bashrc 我复制了我的用户bash_档案中的所有内容 到./bashrc并重新加载,仍然无法工作


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

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

$ sudo su
$ echo ~
/var/root

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

~/.bashrc
将自动提供源代码,因为它位于您的主目录中(
~
)。 但是,当您更改为root时,您的主目录也会更改。 您可以通过键入以下内容进行测试:

$ sudo su
$ echo ~
/var/root

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

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


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

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


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

为什么不干脆
su
?它是
.bashrc
,而不是
/bashrc
我不知道为什么当我使用“su”并键入密码时,它显示su:对不起。为什么不只是
su
?它是
.bashrc
,不是
/bashrc
,我不知道为什么当我使用“su”并键入密码时,它显示su:对不起。