Variável de ambiente

Uma variável de ambiente é um valor nomeado dinamicamente que pode afetar o modo como os processos em execução irão se comportar em um computador.

Elas são parte do ambiente no qual um processo executa. Por exemplo, um processo em execução pode consultar o valor da variável de ambiente TEMP para descobrir um local adequado para armazenar arquivos temporários, ou a variável HOME ou USERPROFILE para encontrar a estrutura de diretórios pertencente ao usuário que está executando o processo. Desta forma, elas podem afetar a forma como um processo se comporta, e cada processo pode ler e escrever variáveis de ambiente.[1]

Elas foram introduzidas em sua forma moderna em 1979 com o Unix Versão 7, desta forma foram incluídas em todos os tipos e variantes de sistema operacional Unix a partir daquele ponto em diante incluindo o Linux e macOS. A partir do PC-DOS 2.0 em 1982, todos os sistemas operacionais Microsoft posteriores, incluindo o Microsoft Windows e OS/2, também incluíram as variáveis de ambiente como um recurso, apesar de que com uma sintaxe, utilização e nomes padrões de variáveis um pouco diferentes.

Design

Em todos os sistemas Unix e Unix-like, cada processo possui seu conjunto privado de variáveis de ambiente. Por padrão, quando um processo é criado ele herda uma cópia das variáveis de ambiente do processo pai, exceto por mudanças explícitas feitas pelo pai quando o novo processo é criado (entre as chamadas fork e exec). Todos os tipos de Unix assim como o DOS e o Microsoft Windows possuem variáveis de ambiente; entretanto, variáveis para funções parecidas entre os sistemas possuem nomes distintos. Programas podem acessar os valores das variáveis de ambiente para efeitos de configuração.

Shell scripts e arquivos de lote usam variáveis de ambiente para armazenar dados temporários e também para comunicar dados e preferências a processos filhos.

No Unix, as variáveis de ambiente são normalmente inicializadas durante a inicialização do sistema, e portanto é herdada por todos os outros processos do sistema. No Microsoft Windows, os valores padrão das variáveis de ambiente são armazenados no registro do sistema e configurados através do autoexec.bat.

Acesso

As variáveis podem ser usadas tanto por scripts quanto pela linha de comando. São geralmente referenciadas usando-se símbolos especiais na frente ou nas extremidades no nome da variável. Por exemplo, para mostrar o caminho de busca em um sistema DOS ou Windows, usa-se o comando echo %PATH%, em Unix usa-se echo $PATH.

Em DOS e Windows o comando SET sem argumentos lista as variáveis de ambiente disponíveis e seus valores. Para escrever um valor, usa-se SET VARIAVEL=novo_valor. Entretanto, a mudança é temporária, e para ser permanente deve-se editar o registro do sistema. Já em Unix, os comandos env, set e printenv listam as variáveis de ambiente disponíveis e seus valores. env e set também são usadas para escrever valores.

Variáveis de ambiente comuns

DOS

  • %COMSPEC% - caminho completo do command.com.
  • %PATH% - lista de diretórios que são acessos durante uma busca do shell, por exemplo, para comandos globais do sistema (executáveis fora da pasta corrente).
  • %TEMP% e %TMP% - caminho para o diretório em que o sistema operacional armazena arquivos temporários.

Unix

  • $PATH - lista de diretórios que são acessados durante uma busca do shell, por exemplo, para comandos globais do sistema (executáveis fora da pasta corrente).
  • $HOME - diretório raiz do usuário atual.
  • $LANG, $LC_ALL - locale padrão.
  • TERM - tipo do terminal ou emulador de terminal sendo usado.
  • $TZ - fuso horário em uso.

Windows

  • %CD% - diretório atual.
  • %DATE% - data atual, formatada de acordo com a preferência do utilizador.
  • %TIME% - hora atual, formatada de acordo com a preferência do utilizador.
  • %RANDOM% - número aleatório entre 0 e 32767.
  • %ProgramFiles% - caminho completo do diretório "Arquivos de programas".
  • %SystemDrive% - drive de instalação do sistema operacional.
  • %systemroot% - diretório de instalação do sistema operacional.
  • %WinDir% - diretório de instalação do sistema operacional.
  • %SystemDirectory% - diretório de instalação da pasta system32.
  • %USERNAME% - o nome do usuário logado.
  • %HomePath% - diretório do usuário logado(sem o drive).
  • %HomeDrive% - drive do diretório do usuário logado.
  • %TEMP% - diretório temporário do usuário logado.
  • %Tmp% - diretório temporário do usuário logado.
  • - O nome do controlador de domínio onde o usuário está autenticado.
  • %UserDomain% - O nome do domínio que detém a conta do usuário.
  • %ComSpec% - diretório onde se encontra o comando (cmd.exe) - prompt do ms-dos.
  • %ComputerName% - Exibe o nome do computador atual.
  • %userprofile% - diretório de arquivos do usuário logado.
  • %PUBLIC% - diretório de arquivos público

Notas e Referências

  1. Haeder, Adam. Alta Books, ed. Certificação Linux LPI: rápido e prático. 2012 3 ed. Rio de Janeiro: [s.n.] 520 páginas. 9788576086444