Como definir uma variável persistente global?

2

Estou criando um bashscript para configurar um pequeno aplicativo que estou escrevendo. Parte dessa configuração requer a configuração de uma variável de ambiente para que outros processos possam referenciá-la.

Meu teste simples de script de shell é assim:

#!/bin/sh

export FOO=abc

Entendo porque FOO não será visível depois que o script for executado, se assim for feito:

$ sh script.sh

e por que isso ficará visível:

$ source script.sh

, então essa é uma solução, mas eu estou querendo saber como os scripts de instalação comuns fazem isso - por exemplo, eu tenho certeza que instaladores como o mysql etc configuram variáveis de ambiente globais.

Qual é o caminho certo para fazer isso? Eu acho que posso pedir aos meus usuários para instalar executando:

$ source script.sh

mas não tenho certeza se existe uma maneira melhor.

Obrigado

    
por user3203425 21.03.2018 / 18:30

1 resposta

1

Adicione estas linhas ao seu script. Seu script deve ter root access.

echo 'export FOO=abc' > /etc/profile.d/foo.sh

Na próxima reinicialização, estará disponível.

    
por dedunumax 21.03.2018 / 18:40