Que arquivos init serão lidos ao abrir uma nova aba e uma nova janela do terminal gnome?

1

Se eu estiver correto, lembro que a abertura de uma nova guia no terminal genome executará o .bashrc e a abertura de uma nova janela do terminal do gnome também funcionará.

Esses dois lêem os mesmos arquivos init do bash?

Por exemplo ~ / .bashrc, não ~ / .bash_profile?

Obrigado.

    
por Tim 30.09.2014 / 16:00

1 resposta

1

Sim. Abrir uma nova guia ou um novo terminal faz exatamente a mesma coisa: ele inicia uma nova instância do seu $SHELL (bash por padrão) no modo interativo, sem login. O que isto significa é que os seguintes arquivos são lidos:

/etc/bash.bashrc
~/.bashrc

Se você iniciar um shell de login, o bash lerá /etc/profile e o primeiro deles: /.bash_profile , ~/.bash_login e ~/.profile . Isso tudo é explicado na seção Invocação de man bash :

  

Quando o bash é invocado como um shell de login interativo ou como um   shell não interativo com a opção --login, primeiro lê   e executa comandos do arquivo / etc / profile, se esse arquivo   existe. Depois de ler esse arquivo, ele procura por ~ / .bash_profile,   ~ / .bash_login e ~ / .profile, nessa ordem, e lê e   executa comandos do primeiro que existe e é   legível. A opção --noprofile pode ser usada quando o shell é   começou a inibir esse comportamento.

     

[...]

     

Quando um shell interativo que não é um shell de login é iniciado,   O bash lê e executa comandos de /etc/bash.bashrc e   ~ / .bashrc, se esses arquivos existirem.

Para mais detalhes sobre os vários arquivos originados ou executados sob diferentes condições, veja minha resposta aqui .

    
por terdon 30.09.2014 / 16:38