Existem vários componentes pouco padronizados aqui.
Normalmente, seu ambiente de trabalho lê seu .profile
para que seus processos filhos herdam quaisquer variáveis definidas lá.
Normalmente, seu ambiente de desktop não lê .bashrc
(embora ex. o macOS execute cada novo Terminal como um shell de login, então se o Bash for seu shell de login, seus arquivos de login serão lidos nesse ponto).
Não está claro o que você quer dizer com "executar em um timer". Se você executar algo fora de cron
ou at
, ele não lerá nenhum arquivo de inicialização interativo (embora você possa fazer algo como bash -i scriptname
se quiser forçá-lo).
No que diz respeito ao Bash e, portanto, .bashrc
, a referência oficial é o Documentação de bash .
O local portátil para definir variáveis de todo o sistema é /etc/profile
, embora algumas plataformas também suportem algo como /etc/environment
. Da mesma forma, $HOME/.profile
é o lugar para definir suas variáveis pessoais para todos os shells.