Guia Prático: Como Usar e Exportar Variáveis de Ambiente no Bash
Variáveis de ambiente permitem armazenar configurações e dados dinâmicos acessíveis por processos e scripts no Linux. Usar o comando export garante que uma variável definida na sessão atual do terminal seja transmitida para subprocessos e scripts executados a partir dela. Este recurso resolve o problema de passar parâmetros globais de configuração sem hardcode no código fonte.
Bash
#!/bin/bash
# Script demonstrando variáveis temporárias e exportadas
# 1. Variável local (visível apenas dentro deste script/processo)
NOME_LOCAL="Ambiente_Dev"
# 2. Exportando a variável para que fique visível em subprocessos
export API_KEY="chave_secreta_12345"
export APP_ENV="production"
echo "=== Executando Processo Pai ==="
echo "Variável Local: $NOME_LOCAL"
echo "Variável Exportada: $API_KEY"
# 3. Chamada de um subprocesso (subshell) testando o escopo
bash -c '
echo "--- Dentro do Subprocesso ---"
echo "Acesso ao API_KEY exportado: $API_KEY"
echo "Acesso ao NOME_LOCAL (vazio): $NOME_LOCAL"
'
# Exemplo de definição temporária para a execução de um único comando:
# PORT=8080 node app.js
Exemplo de uso prático no terminal:
Bash
# Definindo e exportando no terminal para uso na sessão atual
export DB_HOST="localhost"
# Testando o valor salvo
echo $DB_HOST
Pontos-chave
- Alcance do
export: Uma variável comum do Bash fica restrita ao shell atual; oexporteleva seu escopo para que qualquer script ou comando filho herde seu valor. - Sintaxe Inline Temporária: Ao rodar
VAR=valor comando, a variável é injetada temporariamente apenas durante a execução daquele comando específico, sem poluir o ambiente global. - Sem Espaços na Atribuição: A declaração de variáveis no Bash exige junção exata sem espaços ao redor do sinal
=(ex:export CHAVE="valor"). - Escopo Não Retroativo: Alterações em variáveis feitas dentro de um subprocesso filho nunca afetam o shell pai que o executou.
- Persistência: As variáveis criadas via
exportno terminal são temporárias e somem ao fechar a sessão. Para torná-las permanentes, adicione-as ao arquivo~/.bashrcou~/.zshrc.
