
Variáveis de ambiente, PATH e configuração de aplicações
Objetivos desta aula
- Entender o que são variáveis de ambiente
- Ler, criar e exportar variáveis
- Entender o PATH e o erro “command not found”
- Configurar aplicações com variáveis (12-factor)
Variáveis de ambiente são pares nome=valor que todo processo recebe ao iniciar. Elas configuram o comportamento de programas sem mudar o código: porta, endereço do banco, nível de log.
Veja todas com env ou uma específica com echo $HOME. Crie com NOME=valor, mas ela só fica visível para programas filhos se você usar export NOME=valor.
A variável mais importante é o PATH: uma lista de pastas onde o shell procura programas. Quando você digita terraform, o shell percorre cada pasta do PATH até encontrar. Se não acha, aparece command not found.
Para adicionar uma pasta: export PATH="$HOME/bin:$PATH". Para tornar permanente, coloque essa linha no ~/.bashrc (ou ~/.zshrc) e recarregue com source ~/.bashrc.
Use which programa ou type programa para descobrir qual executável está sendo usado — útil quando há duas versões instaladas.
Na metodologia 12-factor, toda configuração que muda entre ambientes vem de variáveis: o mesmo código roda em dev e produção, mudando só DATABASE_URL, por exemplo. Docker e Kubernetes seguem esse modelo.
Em desenvolvimento é comum usar um arquivo .env, carregado pela aplicação. Nunca faça commit desse arquivo com segredos reais: coloque .env no .gitignore e publique apenas um .env.example.
Em serviços systemd, as variáveis são definidas com Environment= ou EnvironmentFile= dentro do arquivo do serviço.
Na prática
Variáveis e PATH
bash
echo $PATH | tr ':' '\n' # uma pasta por linha
export APP_PORT=8080
python3 -c 'import os; print(os.environ["APP_PORT"])'
which kubectl # qual kubectl está no PATH
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc.env.example (pode ir para o Git)
bash
# Copie para .env e preencha os valores reais
APP_PORT=8080
LOG_LEVEL=info
DATABASE_URL=postgres://usuario:senha@localhost:5432/appPor que isso importa
Configuração por variáveis é o padrão em contêineres, CI/CD e Kubernetes; entender PATH evita horas de “command not found”.
Erro comum
Definir a variável sem export e não entender por que o programa não a enxerga.
Dica de produção
Valide variáveis obrigatórias na inicialização da aplicação e falhe com uma mensagem clara se faltarem.
Alerta de segurança
Variáveis podem vazar em logs e no ps. Segredos devem vir de um cofre (Secrets Manager, Vault) e nunca ser impressos.
Pergunta de entrevista
O que acontece quando aparece command not found mesmo com o programa instalado?
Glossário
- Variável de ambiente
- Par nome=valor herdado pelos processos.
- export
- Torna a variável visível para processos filhos.
- PATH
- Lista de pastas onde o shell procura programas.
- 12-factor
- Boas práticas de apps modernas, como configuração por ambiente.
Conexão com o CloudShop
A API do CloudShop lê porta e banco de variáveis — o mesmo código roda em todos os ambientes.
Quiz da aula
1. Para que serve o PATH?
2. O que `export` faz?
3. O que deve ir para o Git?
Minhas anotações
Salvo automaticamente neste navegador.
