Qual é a diferença entre /etc/bash.bashrc e ~ / .bashrc? Qual deles devo usar?

19

Quando devo usar cada um dos dois arquivos .bashrc para definir meus aliases, prompt, etc?

    
por cfischer 01.10.2009 / 16:01

3 respostas

32

/etc/bash.bashrc se aplica a todos os usuários

~/.bashrc aplica-se apenas ao usuário em que a pasta base é.

    
por 01.10.2009 / 16:05
2

De acordo com a Documentação do GNU Bash :

When Bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.

Invoked as an interactive non-login shell When an interactive shell that is not a login shell is started, Bash reads and executes commands from ~/.bashrc, if that file exists. This may be inhibited by using the --norc option. The --rcfile file option will force Bash to read and execute commands from file instead of ~/.bashrc.

So, typically, your ~/.bash_profile contains the line

if [ -f ~/.bashrc ]; then . ~/.bashrc; fi

after (or before) any login-specific initializations.

    
por 14.11.2011 / 07:52
1

Para suas preferências pessoais e scripts pessoais ou funções bash você deve usar .bashrc (aliases, funções adicionadas para bash ...)

No momento em que você deseja compartilhar algo com todos os usuários (ou a maioria dos usuários) ou para coisas de uso geral (Caminho para executáveis compartilhados, caminho para documentação ...), coloque-o em /etc/bash.bashrc

Eu disse a maioria dos usuários porque mesmo digamos que você especifique um script greetings.sh que imprima "Hello world!" para todos os usuários, mas o usuário Pepe deseja usar o script greetings.sh que imprime "Hola el mundo!" . Ele pode modificar seu caminho em sua .bashrc para apontar seu script em vez do seu. Em outras palavras, o usuário sempre pode personalizar sua sessão em .bashrc para o que ele quiser.

    
por 21.02.2010 / 20:11