.profile não funciona quando inicio um terminal bash

.profile não funciona quando inicio um terminal bash

Quando inicio um terminal bash, meu .profile não está sendo executado. Eu não tenho um ~/.bash_profile ou ~/.bash_login, então .profile deve ser executado, certo? O que mais pode estar errado?

Responder1

Não é um shell de login.

Se um shell for um shell de login, ele procurará .bash_profile, se existir, e então .profile. Outros shells procuram .bashrc

Portanto, você pode colocar o que deseja em cada instância do shell em .bashrc e, possivelmente, ter uma referência que origine .bashrc em .profile.

Então: .bashrc:

stuff you want

fim de .profile:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc

Responder2

tente usar ~/.bashrcem vez disso.

Responder3

Se você estiver usando uma área de trabalho gráfica, .profile deverá ser fornecido pelo seu gerenciador de área de trabalho. Lightdmfazsource .profile agora, pelo menos no Ubuntu. Ver:https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

Com o kdm e o Kubuntu-12.04, o arquivo /etc/kde4/kdm/Xsession é originado, incluindo o .profile. O Kubuntu-12.10 provavelmente usará lightdm. Ubuntu 12.04 usa lightdm para que /usr/sbin/lightdm-session origine .profile.

Acho que o caminho a seguir é (1) definir/exportar as configurações do ambiente em ~/.profile e (2) ter .profile originado por .bash_profile:

[[ -f ~/.profile ]] && . ~/.profile

(e não ter .bashrc originado por .profile ou .bash_profile).

Veja também:

informação relacionada