O que são variáveis de ambiente?
As variáveis de ambiente contêm valores relacionados com o ambiente actual, como o sistema operativo ou sessões de utilizador.
Path
Uma das mais conhecidas chama-se PATH
em Windows, Linux e Mac OS X. Especifica os directórios em que os programas executáveis* estão localizados na máquina que podem ser iniciados sem conhecer e digitar todo o caminho para o ficheiro na linha de comandos. (Ou no Windows, o diálogo Executar no Menu Iniciar ou
+R). No Linux e Mac OS X, normalmente contém todos os directórios bin
e sbin
relevantes para o utilizador actual. No Windows, contém pelo menos os directórios C:\Windows
e C:\Windows\system32
- é por isso que pode correr calc.exe
ou notepad.exe
a partir da linha de comandos ou da caixa de diálogo correr, mas não firefox.exe
. (O Firefox está localizado em C:\Program Files\Mozilla Firefox
. Para informações sobre como incluir o Firefox, vá a aqui .)
Por exemplo, digitando calc
(o .exe
can será omitido) na linha de comando no Windows irá iniciar a Calculadora do Windows.
* Pode adicionar suporte para extensões de ficheiros diferentes de .exe
editando %PATHEXT%
.
Outras
Outras variáveis podem dizer aos programas que tipo de terminal é utilizado (TERM
em Linux/Mac OS X), ou, em Windows, onde se encontra a pasta Windows (por exemplo %WINDIR%
é C:\Windows
).
Criar novas variáveis de ambiente
No Windows, Linux e Unix, é possível criar novas variáveis de ambiente, cujos valores são depois disponibilizados a todos os programas aquando do seu lançamento.
Pode usar isto ao escrever scripts ou programas que estão instalados ou implementados em múltiplas máquinas e que necessitam de referenciar valores que são específicos para estas máquinas. Embora um efeito semelhante possa ser alcançado usando configurações específicas de programas, é mais fácil fazê-lo usando uma variável de ambiente se vários programas precisarem de aceder ao mesmo valor.
Windows
GUI
- Aberto
Control Panel » System » Advanced » Environment Variables
.
GUI
GUI
Digite control sysdm.cpl,,3
no diálogo Executar (
+R) e clique em Environment Variables
.
Para editar variáveis de utilizador pode também digitar
Clique com o botão direito do rato em (Meu) Computador e clique em Propriedades, ou simplesmente prima
+Break.
Existem muitas outras formas de chegar ao mesmo local, tais como digitando “variáveis de ambiente” no menu Iniciar/caixa de pesquisa no ecrã, etc.
As variáveis de ambiente no Windows são separadas em valores específicos do utilizador e da máquina/sistema. É possível visualizar e editar os seus valores aí. Os seus valores actuais no arranque são disponibilizados a todos os programas.
Há também Editor de Ambiente Rápido , que ajuda a definir e alterar variáveis de ambiente no Windows sem necessidade de ir ao fundo nas definições do sistema. Outro programa de código aberto para Windows com o qual o ambiente de caminhos pode ser editado muito convenientemente é Path Editor .
Linha de Comando
Formato
Environment Variables in Windows são indicados com sinais de percentagem (%) em torno do nome:
%name%
echo
Para mostrar o valor de uma variável de ambiente em cmd.exe
, digite echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
set
Para criar/set uma variável, utilizar set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Para apender/add uma variável, utilizar set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
As variáveis de ambiente assim definidas estão disponíveis para (o resto da) duração do processo de Prompt de Comando em que são definidas, e estão disponíveis para processos que são iniciados depois de as variáveis terem sido definidas.
setx
Para criar/set uma variável permanently* , use setx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
Ao contrário de set
, não há sinal de igual e o valor deve ser colocado entre aspas se contiver algum espaço. Note que as variáveis podem expandir-se para uma string com espaços (por exemplo, %PATH%
torna-se C:\Program Files
), por isso é melhor incluir aspas em torno de valores que contenham quaisquer variáveis.
Deve adicionar manualmente setx
a versões do Windows anteriores ao Vista. Windows XP Service Pack 2 Support Tools
Lista de variáveis de ambiente Windows
Aqui é uma lista de variáveis de ambiente por defeito , que são incorporadas no Windows. Alguns exemplos são:%WINDIR%
, %SystemRoot%
, %USERPROFILE%
, %APPDATA%
e /etc
. Como a maioria dos nomes em Windows, estes são sensíveis a maiúsculas e minúsculas.
derivados Unix (FreeBSD, GNU / Linux, OS X)
Variáveis de ambiente em Linux são prefixadas com um sinal de dólar ($) como $HOME ou $HOSTNAME. Muitas variáveis conhecidas e padrão são escritas em letras maiúsculas para significar exatamente isso. Tenha em mente que os nomes das variáveis são sensíveis a maiúsculas e minúsculas, o que significa que $User e $USER não têm qualquer relação do ponto de vista da shell.
As derivadas Unix definem variáveis do sistema em scripts da shell localizadas principalmente na pasta /etc/profile
, mas valores específicos do utilizador podem ser dados a essas variáveis em scripts localizados na pasta home (por exemplo, $HOME/.bash_profile
, .profile
). O ficheiro export
na pasta home é um local comum para definir as variáveis do utilizador.
Configuração variáveis
Estes ficheiros são scripts de shell regulares e podem conter mais do que simples declarações de variáveis de ambiente. Para definir uma variável de ambiente, use env
. Para mostrar as variáveis de ambiente actualmente definidas num terminal, execute export
.
O comando setenv
é uma forma padrão de definir variáveis. A sintaxe é muito intuitiva. O resultado é idêntico para estas duas linhas, mas a primeira alternativa é preferível no caso de ser necessária a portabilidade ao pré-POSIX Bourne shell.
var=value; export var
export var=value
A shell C e os seus descendentes usam uma sintaxe completamente diferente; ali, o comando é /etc/paths
.
Veja o projecto de documentação Linux, Path HOWTO para uma discussão mais aprofundada sobre este tópico.
Talvez ao contrário da crença comum, o OS X é mais “Unix” do que o Linux. Adicionalmente aos ficheiros já mencionados, $PATH pode ser modificado nestes ficheiros:
/bin
contém todos os directórios padrão que são adicionados ao caminho, como /usr/sbin
e /etc/paths.d
.
- Qualquer ficheiro em
setx
- comummente utilizado pelos instaladores para tornar os ficheiros executáveis que fornecem disponíveis a partir da shell sem tocar nos ficheiros de configuração de todo o sistema ou específicos do utilizador. Estes ficheiros contêm simplesmente um caminho por linha, por exemplo /Programs/Mozilla/Calendar/bin.
Links Externos:
Environment Variables in XP
Windows XP Service Pack 2 Support Tools (Inclui &007)
Environment Variables in Windows Vista and Windows 7
Adicionar executáveis à caixa de diálogo Run Dialog Box
Mac OSX Tips - Setting Environment Variables
TLDP: Path Howto