0 XP

DEVOPSQUEST

Minha Trilha
Módulo 1 · Linux e Sistemas

Variáveis de ambiente, PATH e configuração de aplicações

Iniciante 25 min+25 XPBashenv

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/app

Por 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. 1. Para que serve o PATH?

  2. 2. O que `export` faz?

  3. 3. O que deve ir para o Git?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima