如何重新加载.bashrc而不注销并返回?

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

你只需要input命令:

 source ~/.bashrc 

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

 . ~/.bashrc 

或者你可以使用;

 exec bash 

做同样的事情。 (更容易记住,至less对我来说)

exec命令用给定的程序代替shell,在我们的例子中,它用bashreplace我们的shell(使用更新后的configuration文件)

为了补充和对比两个最受欢迎的答案. ~/.bashrc . ~/.bashrcexec bash

这两个解决scheme有效地重新加载~/.bashrc ,但有所不同:

  • source ~/.bashrc保留你当前的shell

    • 除了将~/.bashrc重新加载到当前shell( sourcing )所做的修改以外, 保留当前shell及其状态 ,其中包括环境variables,shellvariables,shell选项,shell函数和命令历史logging。
  • exec bash或更强大的exec "$BASH" [1]新实例replace当前的shell ,因此只保留当前shell的环境variables (包括特定的shell )。

    • 换句话说:就shellvariables,shell函数,shell选项,命令历史而言,对当前shell的任何临时更改都将丢失。

根据您的需要,可以select其中一种方法。


[1] exec bash理论上可以执行一个不同于启动当前shell的bash可执行文件,如果它碰巧存在于之前在$PATH列出的目录中的话。 由于特殊variables$BASH总是包含启动当前shell的可执行文件的完整path,所以exec "$BASH"保证使用相同的可执行文件。
$BASH周围重新注释"..." :双引号确保variables值按原样使用,而不用Bash解释; 如果该值没有embedded空格或其他shell元字符(在这种情况下不太可能),则不必严格使用双引号,但使用它们是一个很好的习惯。

. .bashrc

根据您的环境,只需键入

 bash 

也可能工作。

有了这个,你甚至不必input“source〜/ .bashrc”:

包括你的bashrc文件:

 alias rc="vim ~/.bashrc && source ~/.bashrc" 

每次你想编辑你的bashrc,只需运行别名“ rc

TL; DR

 . ~/.bashrc 

TMI

 . ~/.bashrc 

。 是“source”内置命令的BASH快捷方式。 – Brian Showalter

 source ~/.bashrc 

替代

 exec bash 
  • source是一个内置的shell命令,用于执行当前shell中作为parameter passing的文件的内容。
  • exec命令给定的程序replaceshell
  • – WhoSayIn

types:

 source .bashrc 

我在msysgit上使用下面的命令

 . ~/.bashrc 

较短的版本

 source ~/.bashrc 

这也将工作..

 cd ~ source .bashrc