- deve ser
~/.profile
ou.bashrc
. Não ambos, pois/.bashrc
está carregado -from-~/.profile
. - Um shell de não-login só carregará
~/.bashrc
e não/etc/profile
,~/.bash_profile
,~/.bash_login
ou~/.profile
, portanto, se isso for uma preocupação,~/.profile
não será usado. - um não-login sem shell carregará o conjunto de configurações em
$BASH_ENV
. Não encontrei o que é carregado, mas~/.bashrc
deve ser um deles.
Em relação ao seu primeiro ponto:
- Isso provavelmente não é uma boa ideia. E provavelmente não como funciona. Quando você recarregar as variáveis de ambiente, elas começarão a partir do vazio (supondo que você quis dizer que não deve esvaziar ao recarregá-las ;-)).
Em relação ao seu segundo ponto:
- se você quiser, todos os usuários usam
/etc/profile
ou/etc/environment
. / etc / environment é o local correto para variáveis de ambiente do sistema. E também: isso exclui~/.profile
.
Em relação ao seu terceiro ponto:
/etc/environment
não requer reinicialização. Requer um novo login. E isso deve ser feito com um novo login; você pode obtê-lo novamente, mas isso só se aplica à sua sessão e ao que é iniciado depois que você a comprou. Não para processos já em execução.
No entanto
. /etc/environment
é um método para recarregar todas as variáveis. Mas novamente: isso não os redefine para processos atualmente em execução. Apenas para o shell atual e processos iniciados recentemente.
Em relação ao quarto, quinto e sexto ponto:
O único problema que posso ver é que pode correr solta. Se você adicioná-lo a ~/.bashrc
e obter 10, 20 vezes sua variável será inundada com as mesmas partes.
E não e não. Não há riscos de segurança.