别名没有更新后使用源.bashrc



我正在测试登录时的bash行为(终端1),但是我对它与别名的交互感到困惑:

我以vim .bashrc开头,并添加这一行:

alias ls='ls -l'

,用:x保存然后我用source .bashrc模拟一个新的登录会话,我发现它在别名列表

但是我从。bashrc中删除了别名并再次使用source .bashrc,我看到alias ls='ls -l'仍然可用。另一方面,打开新的shell终端(2号终端)的问题得到了解决。

问题:为什么在第一个终端上没有移除alias ls='ls -l'?

采购.bashrc并不清楚您到目前为止定义了什么。它只是将包含的定义添加到当前环境中。

如果你想取消定义一个给定的别名,只需输入:

$ unalias ls
$ source .bashrc

如果你想取消所有别名的定义:

$ unalias -a
$ source .bashrc

最后,如果您想用一个全新的shell重新开始,您当然可以关闭会话并重新打开一个,但这里有一个几乎相同的命令,以防这不是那么容易(ssh)或不希望:

$ exec bash

(还可以添加-l选项来模拟登录shell,从而读取~/.bash_profile文件)

最新更新