
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 |