/ etc / profile vs ~ / .profile

12

Eu corro o Ubuntu 12.04.1 LTS. E eu não consigo saber qual é a ordem / prioridade para carregar arquivos de perfil. Quando eu inicio o sistema e faço login usando a GUI, qual arquivo está carregado? E porque? E se executar o login-shell? Será o mesmo? Na verdade, não posso entender porque o ~/.profile não carrega quando o sistema é iniciado porque, a meu ver, ele deve:

link

    
por sunprophit 19.12.2012 / 21:15

4 respostas

3

Você pode definir uma variável em cada arquivo:

ORDER=${ORDER}+"/etc/profile"

respectivamente

ORDER=${ORDER}+"~/.profile"

e execute um

echo ${ORDER}

para ver o que estava envolvido e em qual ordem. É claro que isso não lhe dirá se houvesse scripts diferentes que você perdeu.

Portanto, se você vir uma fonte mencionada, leia esse script para ver se um script origina outro e inclua-o também.

/etc/bash.bashrc e ~ / .bashrc e ~ / .bash_login vêm à mente, assim como coisas de / etc / default.

    
por user unknown 19.12.2012 / 21:33
7

Tudo depende de com qual usuário você está tentando efetuar login. O arquivo global /etc/profile é carregado para cada usuário , enquanto o ~/.profile é carregado apenas para o usuário. / p>

~ aponta para o diretório inicial do usuário atual. Portanto, se você colocar em /home/user-a/.profile e efetuar login como user-a , tanto o arquivo global quanto o arquivo específico do usuário serão carregados (nessa ordem), enquanto se você fizer login como user-b sem um arquivo .profile , só carrega o global.

    
por gertvdijk 19.12.2012 / 21:29
0

Ambos devem ser carregados, e ~ / .profile deve ser carregado por último (o que significa que tem prioridade).

    
por dobey 19.12.2012 / 21:16
0

É minha culpa. Houve [[some_test]] no meu ~ / .profile e funciona bem no bash, mas acho que o dash executa alguns comandos pre_session_creation / post_session_creation no início da sessão e o dash não sabe [[keyword. Então tudo foi carregado, mas parou no erro.

    
por sunprophit 20.12.2012 / 11:46