como limpar o efeito de todo o sistema bashrc

2

Na minha empresa, existem arquivos bashrc de todo o sistema, como /etc/bashrc e assim por diante.

Por dentro, eles criam mais e mais arquivos. É muito confuso (notei que o meu "ls" tem um alias de sinalizadores que eu não quero).

Eu quero que meus ~/.bashrc limpem os efeitos de todos os bashrcs.

Existe algo parecido no bash? Apenas para limpar todos os aliases, funções, etc., definidos em arquivos do sistema.

    
por bashq1ask 01.04.2013 / 20:19

1 resposta

0

A maneira mais fácil seria adicionar essa linha ao seu ~/.bashrc :

unalias -a

Tanto quanto sei, não há equivalente para limpar todas as funções. Você pode, no entanto, limpá-los um por um usando

unset -f function_name

As duas opções de bash seguintes também são relevantes:

  --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.

Então, você pode definir bash como um alias para bash --norc :

    alias bash='/bin/bash --norc'

Dessa forma, toda vez que você iniciar manualmente o bash , um novo shell será iniciado sem nenhum arquivo de inicialização. Você precisaria então manualmente fornecer seu .bashrc .

Pensei que você poderia combinar as opções --norc e --rcfile para ler somente seu ~/.bashrc , mas não conseguiu fazê-lo funcionar.

    
por 01.04.2013 / 21:08

Tags