在我的公司,有系统范围的 bashrc 文件,例如/etc/bashrc
等等。
在里面,他们获取越来越多的文件。这非常令人困惑(我注意到我的“ls”被一堆我不想要的 ls 标志所别名)。
我想清除~/.bashrc
所有 bashrc 的效果。
bash 中有类似的东西吗?只是为了清除系统范围文件中定义的所有别名、函数等。
答案1
最简单的方法是将这一行添加到您的~/.bashrc
:
unalias -a
据我所知,没有与清除所有函数等效的方法。但是,你可以使用以下命令逐个清除它们:
unset -f function_name
以下两个 bash 选项也相关:
--rcfile file
Execute commands from file instead of the system wide
initialization file /etc/bash.bashrc and the standard
personal initialization file ~/.bashrc if the shell is
interactive (see INVOCATION below).
--norc Do not read and execute the system wide initialization
file /etc/bash.bashrc and the personal initialization
file ~/.bashrc if the shell is interactive. This
option is on by default if the shell is invoked as sh.
因此,您可以将其设置bash
为别名bash --norc
:
alias bash='/bin/bash --norc'
这样,每次您手动启动时,bash
新的 shell 都会启动而不需要初始化文件。然后您需要手动获取您的.bashrc
.
我以为你可以结合--norc
和--rcfile
选项来读取你的~/.bashrc
唯一内容但却无法让它工作。