Variáveis de ambiente e PATH

Compreender variáveis de ambiente, herança e o papel de PATH na resolução de executáveis externos.

Variáveis de ambiente e PATH

Objetivo

Compreender variáveis de ambiente, herança e o papel de PATH na resolução de executáveis externos.

Conceitos essenciais

Variáveis de ambiente

São pares nome=valor disponibilizados no ambiente de um processo. Processos filhos normalmente herdam uma cópia/visão do ambiente do processo pai conforme a plataforma.

PATH

PATH contém diretórios usados na procura por executáveis externos conforme as regras do ambiente. No Windows costuma usar ; como separador; em sistemas Unix-like, :.

Resolução de comandos

Shells também podem resolver aliases, funções, built-ins ou cmdlets. Portanto PATH é parte, não a totalidade, do mecanismo de resolução.

Diagnóstico

PowerShell oferece Get-Command; Unix-like pode usar command -v. where.exe no Windows também ajuda a localizar aplicativos.

Múltiplas versões

Quando existem várias versões, ordem do PATH e mecanismos de launcher podem alterar qual executável é usado.

Segredos

Variáveis de ambiente podem transportar configuração, mas não devem ser tratadas como cofre criptográfico universal. A exposição depende do sistema e do processo.

Modelo mental

NOME DO COMANDO → regras do SHELL → PATH quando aplicável → EXECUTÁVEL → PROCESSO

Exemplo e demonstração

Diagnóstico básico.

PowerShell: $env:PATH; Get-Command python
Bash: echo "$PATH"; command -v python3

Experimento / prática

  • Localize Git, Python ou PHP se estiverem instalados.
  • Compare chamar um executável por nome e por caminho completo.
  • Explique por que abrir um terminal novo pode ser necessário após alterações de ambiente.

Erros comuns

  • PATH contém os executáveis; na verdade contém diretórios.
  • Todo comando é resolvido exclusivamente via PATH.
  • .env vira variável de ambiente automaticamente sem uma ferramenta que o leia.

Resumo

Ao concluir esta aula, revise o modelo mental e tente explicá-lo com suas próprias palavras antes de avançar.