如何从命令行重新加载文件.bash_profile ?

通过退出并重新登录,我可以让shell识别对.bash_profile的更改,但我希望能够按需执行。


只需输入source ~/.bash_profile。

或者,如果你喜欢节省按键,你也可以打字。~ / . bash_profile。


. ~/.bash_profile

只要确保你没有任何依赖于当前状态。


您还可以使用此命令重新加载~/。该用户的Bash_profile。一定要用破折号。

su - username

保存.bash_profile文件 输入cd进入用户的主目录 使用.bash_profile重新加载配置文件


简单的类型:

. ~/.bash_profile

但是,如果你想让它在终端启动时自动运行,而不是每次打开终端时都运行,你可以添加。~ /。Bash_profile到~/。bashrc文件。(

注意:

当您打开一个终端时,终端将以(非登录)交互模式启动bash,这意味着它将生成~/.bashrc。

~ /。Bash_profile仅在交互式登录模式下启动时由bash获取。通常只有当你在控制台登录(Ctrl+Alt+F1..F6),或通过ssh连接时才会出现这种情况。


添加别名bashs="source ~/ "。bash_profile”到Bash文件中。

所以下次你可以调用bash。


如果.bash_profile文件不存在,可以尝试执行以下命令:

. ~/.bashrc

or

source ~/.bashrc

而不是。bash_profile。

您可以找到关于bashrc的更多信息。


我喜欢的事实是,在你刚刚编辑文件后,你所需要做的就是键入:

. !$

这将在历史记录中查找刚才编辑过的文件。看看什么是砰的美元在bash。


我使用Debian,我可以简单地键入exec bash来实现这一点。我不能说它是否适用于所有其他发行版。


我正在运行macOS v10.12 (Sierra),并为此工作了一段时间(尝试了所有推荐的解决方案)。我感到困惑,所以我最终尝试重新启动我的电脑!它工作。

我的结论是,有时硬重置是必要的。


当使用源~/。bash_profile或前面的答案工作,有一件事要提到的是,这只是在当前选项卡或会话中重新加载您的Bash配置文件。如果希望在每个选项卡/shell上重新加载bash配置文件,则需要在每个选项卡/shell中手动输入此命令。

如果使用iTerm,可以使用CMD⌘+ Shift + I在所有当前选项卡中输入命令。对于终端来说,参考这个问题可能是有用的;


Use

alias reload!=". ~/.bash_profile"

或者如果想通过函数添加日志:

function reload! () {
    echo "Reloading bash profile...!"
    source ~/.bash_profile
    echo "Reloaded!!!"
}

你只需要打字。~ / . bash_profile。

参考“源”做什么?。


如果您不介意丢失当前shell终端的历史记录,也可以这样做

bash - l

这将分叉您的shell并打开bash的另一个子进程。-l参数告诉Bash作为登录shell运行。这是必需的,因为.bash_profile不会作为非登录shell运行。欲了解更多信息,请阅读此处。

如果你想完全替换当前的shell,你还可以做:

执行bash -l

上面的代码不会分叉你当前的shell,而是完全替换它,所以当你输入exit时,它会完全终止,而不是让你回到上一个shell。


简单地重新获取文件不会“重新加载”,即先卸载某些内容,然后再加载。如果这是你想要的,你可以这样做:

hash -r && _SHOW_MESSAGES=1 exec -a -bash bash