如何重新加载.bashrc而不注销并返回?
如果我对.bashrc
进行更改,如何重新加载而不注销并返回?
您只需输入命令:
source ~/.bashrc
或者您可以使用较短版本的命令:
. ~/.bashrc
或者你可以使用;
exec bash
做同样的事情。 (并且更容易记住,至少对我而言)
exec命令用给定的程序代替shell,在我们的例子中,它用bash替换我们的shell(使用更新后的配置文件)
为了补充和对比两个最受欢迎的答案, . ~/.bashrc
. ~/.bashrc
和exec bash
:
这两种解决方案都有效地重新加载了~/.bashrc
,但有所不同:
source ~/.bashrc
将保留你当前的shell :
~/.bashrc
重新加载到当前shell(sourcing)所做的修改以外, 还保留了当前shell及其状态 ,其中包括环境变量,shell变量,shell选项,shell函数和命令历史记录。 exec bash
或更强大的exec "$BASH"
[1]将用新实例替换当前的shell ,因此只保留当前shell的环境变量 (包括特定的shell )。
根据您的需求,可能会首选其中一种或其他方法。
[1] exec bash
在理论上可以执行与启动当前shell的bash
可执行文件不同的bash
可执行文件,如果它恰好存在于之前列出的$PATH
目录中的话。 由于特殊变量$BASH
总是包含启动当前shell的可执行文件的完整路径,因此exec "$BASH"
保证使用相同的可执行文件。
注意在$BASH
周围的"..."
:双引号确保变量值按原样使用,而不用Bash解释; 如果该值没有嵌入空格或其他shell元字符(在本例中不太可能),那么您并不严格需要双引号,但使用它们是一种很好的习惯。
上一篇: How do I reload .bashrc without logging out and back in?