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

1213
我该如何从命令行重新加载 .bash_profile 文件呢?尽管退出登录然后重新登录可以让 shell 识别到 .bash_profile 的更改,但我希望能够按需重新加载它。
15个回答

4
alias bashs="source ~/.bash_profile"添加到您的Bash文件中。
这样您下次就可以调用bashs

1
我将其别名为“reset”——更容易记住。 - jcollum

3

虽然使用source ~/.bash_profile或之前的答案可以起到作用,但需要注意的是这只会重新加载当前标签页或会话中的Bash配置文件。如果您希望在每个标签页/ shell上重新加载bash配置文件,则需要在每个标签页/ shell中手动输入此命令。

如果您使用iTerm,则可以使用CMD⌘ + Shift + I将命令输入到所有当前标签页中。对于终端用户来说,参考此问题可能会很有用;


2

我使用Debian,可以直接输入exec bash来实现此功能。我无法确定它是否适用于所有其他发行版。


3
这在Mac上不起作用(至少我使用的版本——Sierra上不起作用),因为仅执行该操作会执行一个无登录shell,该shell不会运行.bash_profile文件。 - Ulukai
@Ulukai 显然,在 Mac 上在您的主目录中键入“。.bash_profile”就可以完成工作。与 7urkm3n 上面给出的回复相同。 - Cassandra
对于macOS系统,从2019年开始(Catalina版本),默认的shell被更改为Z shell(详情请见https://en.wikipedia.org/wiki/MacOS_Catalina#Removed_or_changed_components)。 - Peter Mortensen

1
我正在运行macOS v10.12(Sierra),并且已经尝试了所有推荐的解决方案,但是仍然遇到了困难。最终我尝试重启电脑!这起作用了。
我的结论是有时需要进行硬重启。

1
Mike,是的,硬重置会起作用,因为所有内容都会重新加载。只要您所做的更改是有效的,它将在下一次启动时生效。但是,如果您不想一直这样做,最好还是挖掘一下命令/方法,只需刷新bash即可。肯定有一种方法可以在不重新启动的情况下实现它,否则为了查看最新更改是否有效,重新启动需要太多时间!也许可以查看http://osxdaily.com/2016/06/07/reload-bash_profile-zsh-profiles-command-line/。 - Cassandra
1
是的,我尝试了重新加载bash配置文件/路径的缩写命令和完整命令。但是它们都没有起作用,只有注销并重新登录才有效。很奇怪。 - 3pitt

1

仅仅重新获取文件不会“重新加载”,因为没有任何东西被卸载,然后再次加载。如果您需要这样的效果,可以执行以下操作:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接