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