Onde definir variáveis de ambiente no Mac
Na linha de comando, as variáveis ambientais são definidas para o shell atual e são herdadas por qualquer comando ou processo em execução. Eles podem determinar qualquer coisa, desde o shell padrão, o PATH, o diretório inicial do usuário até o tipo de emulação do terminal, diretório de trabalho atual, onde um arquivo de histórico está localizado, configurações de idioma e localização e indo além para incluir variáveis do shell, que incluem tudo de personalizações ao prompt do bash, saída ls colorida e alterações na aparência do terminal, aliases e muito mais.
Vamos ver como listar variáveis de ambiente e shell e, em seguida, como definir e adicionar novas variáveis de ambiente na linha de comando do Mac OS X. Abordaremos isso para os shells bash e zsh.
Exibindo variáveis de ambiente e shell atuais no bash no Mac OS X
Para rapidamente obter uma lista de variáveis ambientais, você pode usar o seguinte comando com o bash:
printenv
Para listar variáveis de ambiente em zsh, use o seguinte comando: env
Ou opcionalmente:
echo $ENV_VAR
Se você quiser ver uma lista completa de variáveis do shell, o comando 'set' também pode ser executado:
definir
A saída desses comandos pode ser longa, portanto, você pode canalizar a saída por meio dos comandos menos ou mais.
Configurando variáveis ambientais na linha de comando do macOS com zsh
O shell zsh define variáveis ambientais por meio do arquivo zshenv, localizado no diretório home do usuário em:
~/.zshenv
Portanto, você pode adicionar variáveis de ambiente zsh modificando esse arquivo com nano, vim, etc, ou usando echo da seguinte forma:
echo 'exportar ENV_VAR=exemplo' >> ~/.zshenv
Por exemplo:
echo 'JAVA_HOME=$(/usr/libexec/java_home)' >> ~/.zshenv
Definindo variáveis de ambiente na linha de comando do Mac OS X com bash
Como o padrão do Mac é usar shell bash, você pode definir variáveis ambientais nos diretórios do usuário .bash_profile, para uma conta de usuário ativa, o caminho para esse arquivo está localizado em:
~/.bash_profile
Se você mudou seu shell ou não tem certeza de qual shell está usando, sempre pode verificar emitindo o comando echo $SHELL, que exibirá qual shell está em uso. Vamos supor que você ainda está usando o shell bash padrão do OS X, portanto, adicionaremos novas variáveis de ambiente modificando .bash_profile com nano – você pode usar vi, emacs ou outro editor de texto, se desejar, mas abordaremos o nano por sua simplicidade.
Comece abrindo .bash_profile dentro do editor de texto nano:
nano .bash_profile
Você pode adicionar variáveis de ambiente e variáveis de shell em novas linhas, se já houver dados no arquivo .bash_profile, certifique-se de adicionar novas variáveis a uma nova linha em branco usando as teclas de seta e o tecla de retorno conforme necessário.
Vamos dar um exemplo e dizer que vamos definir as variáveis de ambiente JAVA_HOME e JRE_HOME dentro de .bash_profile adicionando o seguinte às novas linhas do arquivo:
export JAVA_HOME=$(/usr/libexec/java_home) export JRE_HOME=$(/usr/libexec/java_home)
Supondo que agora terminamos, salve as alterações feitas em .bash_profile pressionando Control+o (que é um o como em lontra) e saia do nano pressionando Control+X
Alterações e adições feitas em variáveis ambientais exigirão que o shell seja reiniciado ou um novo shell seja gerado.
Configurando variáveis ambientais temporárias no OS X
Vale a pena mencionar que você também pode definir variáveis ambientais temporárias no bash usando o comando 'exportar' sozinho, embora elas persistam apenas enquanto o shell bash atual permanecer ativo. Por exemplo, se você quiser adicionar um caminho temporário a ~/bin/, poderá usar o seguinte comando:
export PATH=$PATH:~/bin
Novamente, o comando 'export' executado por si só e não contido em .bash_profile será apenas uma configuração temporária e a variável de ambiente não persistirá a menos que você a adicione ao .bash_profile.
Se você realmente deseja adicionar um novo PATH para uso, quase certamente deve adicioná-lo a .bash_profile colocando o comando de exportação apropriado no arquivo.
Indo além do shell bash, se você alterou o shell padrão do aplicativo Terminal de bash para tcsh, zsh, sh, ksh, fish ou qualquer outro shell alternativo existente, você simplesmente precisará para modificar o perfil apropriado ou arquivo rc para aquele shell específico (.tschrc, .cshrc, .profile, etc).