Como alterar a variável de ambiente quando o usuário muda?

0

Eu tenho terminal portátil com bash shell no drive usb, e eu quero carregar variáveis de ambiente diferentes toda vez que eu troco de computador, os usuários são diferentes em outras máquinas. Como configurar o arquivo .bashrc para isso?

    
por dukasvili 28.02.2017 / 10:07

1 resposta

1

Não sei se entendi completamente o que você quer fazer.

Eu suspeito que o que você basicamente quer é manter alguns arquivos de ambiente que você pode procurar quando / onde for necessário.

Supondo que você queria ter seu ambiente configurado em uma máquina remota em que você estava, então seu .bashrc poderia conter algo como

source ~/path/to/file.env

ou

. ~/path/to/file.env

Tenha em mente que .bashrc pode não ser o arquivo que você precisa editar. De bashrc do meu sistema:

# There are 3 different types of shells in bash: the login shell, normal shell
# and interactive shell. Login shells read ~/.profile and interactive shells
# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all
# settings made here will also take effect in a login shell.

Se você estiver alternando usuários localmente, essa abordagem também funcionará.

Se o que você queria era modificar seu próprio ambiente (não sei por que você faria isso, mas não está aqui para julgar), então provavelmente o mais fácil é simplesmente fornecer manualmente qualquer arquivo env que você precisar quando e quando precisar.

Parece, no entanto, que você está no Windows e, nesse caso, talvez seja necessário certificar-se de que o shell local funcione de maneira semelhante ao bash e permita o fornecimento de coisas.

Além disso, lembre-se de que você pode usar o comando env para executar as coisas, como em:

env -i bash -c 'source .foo.env && do_something.sh'
    
por 28.02.2017 / 10:24