É possível fazer isso automaticamente com um pouco de trabalho usando PROMPT_COMMAND
e -nt
com um arquivo de marcador. Se você colocar isso no seu arquivo ~/.bash_profile
:
touch /tmp/bash_profile-$$
resource_profile() {
[ ~/.bash_profile -nt /tmp/bash_profile-$$ ] && source ~/.bash_profile
}
PROMPT_COMMAND=resource_profile
então um arquivo marcador vazio será criado em /tmp
quando o shell for iniciado, nomeado com o PID do shell para identificá-lo.
Antes de exibir o prompt toda vez que o shell executar a função resource_profile
, que verificará se ~/.bash_profile
foi alterado ( -nt
) desde a última vez em que foi originado e atualizou o arquivo do marcador e será automaticamente source ~/.bash_profile
se tiver mudado. Quando o arquivo é originado, ele atualizará o arquivo do marcador novamente na próxima vez.
Isso não é infalível - dependendo do sistema de arquivos, as alterações feitas logo após o arquivo ser originado podem não ser detectadas. O arquivo só será verificado depois que você executar um comando ou pressionar Enter , que é o mais próximo do imediato possível, mas não completamente instantâneo.
Dependendo do perfil do seu sistema, você pode preferir colocar o arquivo marcador em outro lugar onde ninguém mais possa acessar o diretório. Também é possível construir algo similar fora do stat(1)
se você tiver, evitando o arquivo do marcador completamente. / p>