![Obtendo variáveis de ~/.bash.rc e mantendo-as durante os logouts](https://rvso.com/image/1288691/Obtendo%20vari%C3%A1veis%20%E2%80%8B%E2%80%8Bde%20~%2F.bash.rc%20e%20mantendo-as%20durante%20os%20logouts.png)
Tenho escrito vários scripts bash para tornar possíveis checkouts SVN não interativos, seguros e baseados em cron com o cliente SVN da CollabNet e o GNOME Keyring Daemon (também conhecido como GKD) e um dos scripts foi projetado para iniciar o GKD, coletar sua saída , essencialmente algumas variáveis de ambiente, e exporte essas variáveis no shell de um usuário com o qual o script é executado. Tudo após o login do usuário, obtendo um script bash em ~/.bashrc.
O problema é que essas variáveis de ambiente não serão exportadas, porque o script está sendo executado em um sub-shell que sai após a conclusão e as variáveis de ambiente são desativadas para sempre.
Bem, a questão é como essas variáveis podem ser definidas permanentemente, o que significa que são exportadas e mantidas intactas mesmo durante sessões de login-logout?
Responder1
Simplesmente faça eco da variável para outro script de shell em seu diretório inicial (ou em outro lugar) começando com . (portanto, ficará invisível na visualização ls padrão). Modifique seu .bashrc para que na inicialização ele execute este script de shell.
Exemplo:
foo='What the heck'; echo "foo='$foo'" > ~/.startup.sh
Em seguida, coloque isso em ~/.bashrc e pronto:
. ~/.startup.sh