.bashrc
é um script de shell que o Bash é executado sempre que é iniciado de forma interativa. Inicializa uma sessão de shell interativa. Você pode colocar qualquer comando nesse arquivo que você possa digitar no prompt de comando.
Você coloca comandos aqui para configurar o shell para uso em seu ambiente específico ou para personalizar as coisas de acordo com suas preferências. Uma coisa comum para colocar em .bashrc
são aliases que você deseja estar sempre disponível.
.bashrc
é executado em todos os lançamentos do shell interativo. Se você disser:
$ bash ; bash ; bash
e depois pressionar Ctrl-D três vezes, .bashrc
será executado três vezes. Mas se você disser isso em vez disso:
$ bash -c exit ; bash -c exit ; bash -c exit
então .bashrc
não será executado, pois -c
torna a chamada Bash não interativa. O mesmo acontece quando você executa um script de shell a partir de um arquivo.
Contraste .bash_profile
e .profile
que são executados apenas no início de um novo shell de login. ( bash -l
) Você escolhe se um comando vai em .bashrc
vs .bash_profile
dependendo se você deseja que ele seja executado uma vez ou para cada início de shell interativo.
Como contraexemplo para aliases, que eu prefiro colocar em .bashrc
, você deseja fazer PATH
ajustes em .bash_profile
, já que essas alterações normalmente não são idempotent :
export PATH="$PATH:/some/addition"
Se você colocar isso em .bashrc
, toda vez que você lançar um sub-shell interativo, :/some/addition
será colocado no final do PATH
novamente, criando um trabalho extra para o shell quando você digitar um erro comando.
Você recebe um novo shell Bash interativo sempre que você shell de vi
com :sh
, por exemplo.