Qual é a diferença entre .bashrc e /etc/bash.bashrc?

14

.bashrc e / etc / bashrc

Qual é a diferença entre /etc/bash.bashrce ~/.bashrc?

Iliyas Mansons
fonte
Eu não vejo em /etc/bashrclugar algum.
Mikewhatever 21/08/16
2
Veja a seção da página de manual do bash FILES.
Cyrus
1
@mikewhatever, você pode encontrar /etc/bash.bashrc.
Iliyas Mansons
@Cyrus Verifiquei a seção ARQUIVOS da página de manual e "bash.bashrc" não aparece lá, apenas "~ / .bashrc" aparece. Você poderia fornecer um link para a página de manual que estava vendo? Eu estava olhando para Bash Man Page
WinEunuuchs2Unix 21/16/16
1
@ Cyrus, eu encontrei a resposta no link que você compartilhou!
Iliyas Mansons

Respostas:

24

Quando o bash inicializa um shell bash interativo sem login em um sistema semelhante ao Debian / Ubuntu, o shell primeiro lê /etc/bash.bashrce depois lê ~/.bashrc.

A razão que /etc/bash.bashrcnão aparece na documentação normal do bash (como aqui ou aqui ) é que é um recurso adicionado pelo Debian e adotado pelo Ubuntu. Como o Debian explica ( readme.debian ):

  1. O que é o /etc/bash.bashrc? Não parece estar documentado.

    A versão Debian do bash é compilada com uma opção especial ( -DSYS_BASHRC) que faz com que o bash seja lido /etc/bash.bashrcantes ~/.bashrc para shells interativos sem login. Então, nos sistemas Debian, /etc/bash.bashrcé ~/.bashrccomo /etc/profileé ~/.bash_profile.

Portanto, /etc/bash.bashrcestá documentado nas páginas de manual do Debian e Ubuntu, mas não nas páginas de manual de outras distribuições que não suportam esse recurso.

John1024
fonte
1
Vale a pena notar que o uso está se espalhando. O Git bash, baseado no MSYS2, também possui essa convenção. Parece ser adotado para estabelecer adaptações / configurações / padrões no nível do sistema.
precisa saber é
4

Arquivo de inicialização amplo do sistema /etc/bash.bashrc e arquivo de inicialização pessoal padrão, ~/.bashrc se o shell estiver interativo.

Iliyas Mansons
fonte