如果我对.bashrc进行了更改,如何在不注销并重新登录的情况下重新加载它?
当前回答
这也会奏效。。
cd ~
source .bashrc
其他回答
有人编辑了我的答案,添加了不正确的英语,但这是原文,比公认的答案差。
. .bashrc
execbash是重新执行和启动新shell以替换当前shell的好方法。为了补充答案,$SHELL返回当前的SHELL,即bash。通过使用以下命令,它将重新加载当前shell,而不仅仅是bash。
exec $SHELL -l;
您可以输入长格式命令:
source ~/.bashrc
或者可以使用命令的较短版本:
. ~/.bashrc
假设是一个交互式shell,并且您希望保留当前的命令历史记录并加载/etc/profile(它加载环境数据,包括/etc/bashrc,在Mac OS X上,通过path_helper加载/etc/paths.d/中定义的路径),附加命令历史记录,并使用login('-l')选项执行bash:
history -a && exec bash -l
我注意到纯exec bash命令将保留环境变量,因此需要使用exec-c bash在空环境中运行bash。
例如,登录一个bash,然后导出a=1,如果执行bash,则a==1。
如果执行-cl bash,则A为空。
我认为这是完成你工作的最佳方式。