关于bash:如何从命令行重新加载.bash_概要文件?

How to reload .bash_profile from the command line?

如何从命令行重新加载.bash_profile?我可以让shell通过退出并重新登录来识别对.bash_profile的更改,但我希望能够按需执行。


只需键入source ~/.bash_profile

或者,如果您想保存击键,可以键入. ~/.bash_profile


1
. ~/.bash_profile

只需确保您不依赖于其中的当前状态。


简单类型:

1
. ~/.bash_profile

但是,如果您希望源代码在终端启动时自动运行,而不是每次打开终端时都运行它,则可以将. ~/.bash_profile添加到~/.bashrc文件中。

注:

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

~/.bash_profile只有在交互登录模式下启动时才由bash提供源代码。这通常只有在您登录控制台(ctrl+alt+f1..f6)或通过ssh连接时才会发生。


您还可以使用此命令为该用户重新加载~/.bash_配置文件。一定要用破折号。

1
su - username


  • 保存.bash_配置文件
  • 通过键入cd转到用户的主目录
  • . .bash_profile重新加载配置文件

  • 我喜欢这样一个事实,即在您刚刚编辑了文件之后,您所需要做的就是键入:

    1
    . !$

    这是您在历史记录中编辑的文件的来源。看看巴什中的巨无霸是什么。


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

    bash -l

    这将叉起你的壳,打开另一个bash子进程。-l参数告诉bash作为登录shell运行,这是必需的,因为.bash_profile不会作为非登录shell运行,有关此的详细信息,请阅读此处

    如果要完全替换当前shell,还可以执行以下操作:

    exec bash -l

    上面的内容不会分叉您当前的shell,而是完全替换它,所以当您键入exit时,它将完全终止,而不是将您放到前一个shell。


    你只需要输入EDOCX1[1]

    请参阅:https://superuser.com/questions/46139/what-do-source-do


    alias bashs="source ~/.bash_profile"添加到bash文件中。所以下次打电话给bashs


    我想发布一个快速的答案,当使用source ~/.bash_profile或上面提到的答案时,有一件事要提到的是,这只会在您正在查看的当前选项卡或会话中重新加载您的bash配置文件。如果希望在每个选项卡/shell上重新加载bash概要文件,则需要在每个选项卡/shell中手动输入此命令。

    如果使用iterm,可以使用cmd?+shift+i,在所有当前选项卡中输入命令。对于终端来说,参考这个问题可能很有用;


    如果.bash_配置文件不存在,可以尝试运行以下命令:

    1
    . ~/.bashrc

    1
     source ~/.bashrc

    而不是.bash_配置文件。您可以找到关于bashrc的更多信息


    1
    alias reload!=". ~/.bash_profile"

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

    1
    2
    3
    4
    5
    function reload! () {
        echo"Reloading bash profile...!"
        source ~/.bash_profile
        echo"Reloaded!!!"
    }


    我使用debian,只需输入exec bash就可以实现这一点。我不能说它是否适用于所有其他发行版。


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

    我的结论是有时需要硬复位