Use set -a
(ou o equivalente set -o allexport
) na parte superior do arquivo para ativar a opção allexport
shell. Em seguida, use set +a
(ou set +o allexport
) no final do arquivo (onde for apropriado) para desativar a opção allexport
shell.
Usar a ativação da opção allexport
shell terá o seguinte efeito (do bash
manual):
Each variable or function that is created or modified is given the export attribute and marked for export to the environment of subsequent commands.
Esta opção de shell, definida com set -a
ou set -o allexport
, é definida em POSIX (e, portanto, deve estar disponível em todos os shells sh
-like) como
When this option is on, the export attribute shall be set for each variable to which an assignment is performed; [...] If the assignment precedes a utility name in a command, the export attribute shall not persist in the current execution environment after the utility completes, with the exception that preceding one of the special built-in utilities causes the export attribute to persist after the built-in has completed. If the assignment does not precede a utility name in the command, or if the assignment is a result of the operation of the
getopts
orread
utilities, the export attribute shall persist until the variable is unset.
As variáveis definidas enquanto esta opção está habilitada serão exportadas, isto é, transformadas em variáveis de ambiente. Essas variáveis de ambiente estarão disponíveis para o ambiente shell atual e para qualquer ambiente de processo filho criado posteriormente, como de costume.
Isso significa que você terá que
- fonte este arquivo (usando
.
, ousource
em shells que possuem este comando), ou - inicie os processos que devem ter acesso às variáveis deste arquivo.