Logo Hardware.com.br
cesarbs
cesarbs Membro Senior Registrado
549 Mensagens 0 Curtidas

Dúvida - exportação de variáveis

#1 Por cesarbs 21/04/2006 - 15:33
Tenho uma dúvida quanto a exportação de variáveis de ambiente em bash.

Escrevi o seguinte script no arquivo foo.sh

export FOO='i am a foo variable'

No entanto, após rodar o script, se eu digito

echo $FOO

Nada acontece (não imprime o conteúdo da variável, ou seja, a variável não foi exportada)

Como posso resolver isso? Eu queria usar isso pra fazer uma espécie de "configure" mais simples, fo tipo

export CC = `which cc`

Obrigado desde já.
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#2 Por jqueiroz
21/04/2006 - 21:47
A exportação faz com que a variável seja copiada, em seu valor atual, para os processos filhos da shell atual.

Só que quando você executa o script, o shell abre um novo processo, exatamente para que qualquer variável definida lá dentro não interfira no funcionamento do shell principal. E as variáveis exportadas não alcançam o processo pai.

Se você quer que as variáveis exportadas por um script tenham validade para o shell principal, você tem que ordenar que o script seja executado no mesmo processo, com o comando ".":

. ./foo.sh
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal