如何清除系统范围的 bashrc 的影响

如何清除系统范围的 bashrc 的影响

在我的公司,有系统范围的 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唯一内容但却无法让它工作。

相关内容