Entendendo variáveis de ambiente

Algo que uma hora ou outra teremos que nos deparar em algum ponto como desenvolvedores são variáveis de ambiente. Se você já tentou instalar algum comando para que ele fique disponível na sua linha de comando, muito provavelmente se deparou com a parte de definir as variáveis de ambiente.

Elas são variáveis que como o nome sugerem ficam disponíveis para que você possa usar no seu ambiente, no caso do windows por exemplo você pode definir elas a nível de usuário ou globalmente para todos os usuários do windows.

Tem várias delas que são nossas conhecidas como a mais famosa de todas PATH, ou para os programadores java a JAVA_HOME (que indica onde a jdk está instalada no computador da pessoa) por exemplo.

Geralmente elas são necessárias para que os programas que dependem delas no seu computador possam se configurar de acordo com o sistema operacional em que elas estão rodando, seja pelas variáveis de ambiente do sistema operacional (como a JAVA_HOME ou a PATH) ou por variáveis de ambiente localizadas em arquivos do tipo .env (muito utilizados para guardarmos coisas como chaves de API, senhas de bancos de dados e etc).

As variáveis de ambiente são sempre armazenadas em estruturas de chave-valor, ex:

DATABASE_PASSWORD=my_secret_pass123456

Manipulando variáveis de ambiente

Agora que já entendemos o que são e para que servem as variáveis de ambiente, vamos dar uma olhada em como podemos saber e definir/criar os valores delas nos nossos sistemas operacionais favoritos.

Windows

Lendo

Para ler o valor de uma variável de ambiente no windows podemos utilizar o comando echo no cmd e $Env no powershell. Ex:

echo %PATH%

Se nós executarmos o comando echo, semelhante ao PHP, vamos imprimir na tela o que for passado para ele, então para imprimirmos o valor da variável PATH e não o texto PATH na tela, precisamos colocar o nome da variável de ambiente entre %.

No powershell o comando é um pouco mais simples:

$Env:PATH

Você digita $Env: e depois dos dois pontos você digita o nome da variável de ambiente.

Escrevendo

Agora vamos ver como definir uma variável de ambiente pelo windows, o jeito mais simples é irmos pelo painel de controle do windows.

O primeiro passo seria ir na barra de pesquisa do windows e digitar “Variáveis de ambiente” (ou environment variables se o seu sistema estiver em inglês) na barra de pesquisa do windows:

Untitled

Clique em “Editar as variáveis de ambiente do sistema”, e uma janela semelhante a essa irá aparecer:

Untitled

Então nós clicamos nesse botão “Variáveis de Ambiente…” como indicado na imagem e vai aparecer uma tela mostrando as variáveis de ambiente disponíveis no nosso sistema tanto para o usuário atual quanto global:

Untitled

Ai para editar uma variável podemos selecionar ela clicando nela, e dai apertamos no botão editar correspondente e preenchemos o campo de formulário com o valor da variável que queremos editar.

Sistemas baseados em UNIX (MacOS e Linux)

Lendo

No terminal de sistemas baseados em UNIX para lermos é muito semelhante ao PHP, nós utilizamos o comando echo e depois colocamos o nome da variável precedido de um $ (exatamente como no PHP). Ex:

echo $PATH

Escrevendo

E para criarmos uma nova variável nós podemos usar o comando export NOME_DA_VARIAVEL=”Valor da variável” . Ex:

export banana="prata"

Lembrando que para salvar elas no seu shell, você deve ir no arquivo de configuração dele (no caso do bash, fica em $HOME/.bash_profile ou $HOME/.bashrc, e se você usa o zsh as localizações seriam ~/.zprofile ou ~/.zshrc) e adicionar os comandos export nesses arquivos de configuração.

Ai para atualizar o seu shell com as novas configurações definidas, você utiliza o comando source seguido do caminho para o seu arquivo de configuração. Ex:

source $HOME/.bash_profil

Conclusão

Hoje aprendemos um pouco mais sobre variáveis de ambiente, como podemos ler e escrever nelas e alguns usos comuns para elas, você já sabia disso tudo? Conta para gente aqui nos comentários.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *