如果我对.bashrc进行了更改,如何在不注销并重新登录的情况下重新加载它?


当前回答

execbash是重新执行和启动新shell以替换当前shell的好方法。为了补充答案,$SHELL返回当前的SHELL,即bash。通过使用以下命令,它将重新加载当前shell,而不仅仅是bash。

exec $SHELL -l;

其他回答

有人编辑了我的答案,添加了不正确的英语,但这是原文,比公认的答案差。

. .bashrc

您可以输入长格式命令:

source ~/.bashrc

或者可以使用命令的较短版本:

. ~/.bashrc

根据您的环境,您可能希望添加脚本,以便在打开SSH会话时自动加载.bashrc。我最近迁移到了运行Ubuntu的服务器,默认情况下加载的是.profile,而不是.bashrc或.bash_profile。要在.bashrc中运行任何脚本,我必须在每次打开会话时运行source~/.bashrc,这对运行远程部署没有帮助。

要在打开会话时自动加载.bashrc,请尝试将其添加到.profile:

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

重新打开会话,它将加载.bashrc中的所有路径/脚本。

根据您的环境,只需键入

bash

也可能起作用。

我使用easyfengine设置了基于vultr云的服务器。我在/etc/bash.basrc中找到了我的bash文件。

所以source/etc/bash.bashc为我做了这个把戏!

使现代化

在设置裸机(ubuntu 16.04)时,当您尚未设置用户名并通过root登录时,可以使用上述信息。

最好创建一个用户(具有sudo权限),并以该用户名登录。这将为您的设置创建一个目录,包括.profile和.bashrc文件,如前一个资源中所述。

现在,您将编辑和(并源代码)~/.bashrc文件。

在我的服务器上,它位于/home/your_username/.bashrc(其中your_username实际上是您在上面创建的新用户名,现在使用登录)