É possível alterar o valor da variável de ambiente de um script bash para que ele persista?

0

Eu gostaria de usar uma variável de ambiente que declarei em /etc/environment como um contador que deve ser acessível a vários scripts não relacionados que são executados em momentos diferentes.

Isso é possível? Até agora, não tive sorte em tentar exportar seu valor.

Eu acho, eu sempre poderia usar um arquivo temporário para armazenar o valor atual, ler / escrever para ele, mas eu estou procurando uma maneira mais elegante, se houver algum?

    
por S.R. 15.05.2018 / 13:39

1 resposta

1

A resposta curta é "Não, você não pode alterar permanentemente uma variável de ambiente de dentro de um script Bash".

A resposta mais longa é que quando um script Bash é executado, ele recebe uma cópia do ambiente (não referências às próprias variáveis de ambiente). Então, enquanto você pode alterar os valores das cópias dentro do seu script, essas mudanças serão perdidas quando o script sair e também não são visíveis para outros scripts que você esteja executando ao mesmo tempo.

Você pode no entanto, alterar uma variável de ambiente com um script Bash por "source" - usando a linha de comando:

source  your_script_name
    
por Peter Lord 15.05.2018 / 14:25