Obtendo variáveis ​​de ~/.bash.rc e mantendo-as durante os logouts

Obtendo variáveis ​​de ~/.bash.rc e mantendo-as durante os logouts

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

informação relacionada