Uma variável de ambiente é um valor dinâmico, carregado na memória, que pode ser utilizado por vários processos que funcionam simultaneamente. Na maior parte dos sistemas operacionais, o lugar de certas bibliotecas, ou mesmo os principais executáveis do sistema, podem ficar em lugares diferentes, dependendo da instalação. Assim, graças às variáveis de ambiente, é possível, a partir de um programa, se referir a um local baseando-se nas variáveis de ambiente que definem estes dados.
No Windows, as variáveis de ambiente aparecem rodeadas do caractere %. Assim sendo, para exibir o valor de uma variável de ambiente, basta escrever um comando do tipo:
echo %NOME_DA_VARIÁVEL%
Veja uma lista incompleta das principais variáveis de ambiente nos sistemas Windows:
Variável de ambiente | Descrição |
---|---|
%APPDATA% | Retorna um caminho de acesso ao diretório padrão que contém os programas do usuário |
%CMDCMDLINE% | Retorna o comando exato utilizado para acessar o intérprete de comandos (cmd.exe) |
%COMPUTERNAME% | Retorna o nome atribuído ao computador |
%DATE% | Retorna a data atual |
%ERRORLEVEL% | Contém o código de erro do último comando utilizado |
%HOMEDRIVE% | Contém a letra do leitor onde o diretório do usuário atual está situado |
%HOMEPATH% | Contém o caminho de acesso completo ao diretório do usuário atual |
%NUMBER_OF_PROCESSOR% | Contém o número de processadores presentes no sistema |
%OS% | Contém uma cadeia de caracteres que descreve o sistema operacional instalado. Saiba que o Windows 2000 se declara como sendo WINDOWS_NT |
%PATH% | Especifica o caminho de acesso para os principais executáveis do sistema |
%PATHEXT% | Descreve as extensões que o sistema considera como executáveis |
%PROCESSOR_ARCHITECTURE% | Descreve a arquitetura do processador (<x86 para as máquinas Intel, IA64 para as arquiteturas RISC) |
%RANDOM% | Retorna um número inteiro compreendido entre 0 e 32.167 escolhido aleatoriamente pelo sistema |
%SYSTEMDRIVE% | Contém a letra de leitor no qual o sistema está situado (geralmente C:) |
%SYSTEMROOT% | Contém o caminho de acesso ao diretório raiz do sistema; |
%TEMP% | Contém o caminho de acesso do diretório temporário para os aplicativos |
%TMP% | Contém o caminho de acesso do diretório temporário para as aplicativos |
%TIME% | Retorna a hora atual |
%USERDOMAIN% | Contém o domínio ao qual pertence a conta atual |
%USERNAME% | Contém o nome de usuário correspondente à conta atual |
%USERPROFILE% | Contém o lugar do perfil do usuário da conta atual |
%WINDIR% | Contém o caminho de acesso ao diretório do sistema (geralmente C:\WINDOWS ou C:\WINNT) |
No Windows, o comando set permite criar, alterar e exibir as variáveis de ambiente. No entanto, as modificações intervêm unicamente na sessão em curso.
Para mostrar uma variável, o comando usado é o
set NomeVariável
, para criar uma variável, o comando é o
set NomeVariável=valor
e para excluir uma variável, o comando é o seguinte:
set NomeVariável=
.
É possível utilizar qualquer caractere como valor, incluindo espaços. No entanto, para poder utilizar caracteres especiais (<, >, |, & ou ^), basta precedê-los do caractere de escape (^) ou pô-los entre aspas, que farão, então, parte do valor, porque todos os caracteres após o sinal = são levados em conta. Por exemplo, para definir ‘preto e branco’ como valor:
set cor=preto^&branco ou set varname="new&name"
Na plataforma UNIX, as variáveis de ambiente são precedidas do caractere $ e entre chavetas ({}), ainda que as chaves não sejam obrigatórias. Considerando a variedade dos sistemas de tipo UNIX (em particular, as diferentes distribuições de Linux), para exibir o valor de uma variável de ambiente, basta escrever um dos seguintes comandos:
echo $VARIÁVEL ou echo ${VARIÁVEL}
.
Veja mais uma lista não exaustiva das principais variáveis de ambiente na plataforma UNIX:
Variável de ambiente | Descrição |
---|---|
$ARCH | Contém a descrição da arquitetura da máquina |
$DISPLAY | Contém o identificador do terminal de exibição a ser utilizado no gerenciador de janelas (X11) |
$HOME | Retorna o caminho de acesso para o diretório do usuário atual |
$HOST | Retorna o nome do computador |
$LANG | Retorna o código do idioma padrão |
$PATH | Retorna uma lista de caminhos de acesso para diretórios que contêm o executáveis, separados por ponto e vírgula |
$PRINTER | Contém o nome da impressora padrão |
$SHELL | Indica o caminho do intérprete de comandos utilizado |
$USER | Devolve o identificador do usuário atual |