Variáveis de ambiente no Linux
Índice:
- Variáveis de ambiente e variáveis de shell
- Listar variáveis de ambiente
- Definindo variáveis de ambiente
- Variáveis de ambiente persistentes
- Conclusão
Nos sistemas baseados em Linux e Unix, as variáveis de ambiente são um conjunto de valores nomeados dinâmicos, armazenados no sistema que são usados por aplicativos iniciados em shells ou subshells. Em palavras simples, uma variável de ambiente é uma variável com um nome e um valor associado.
As variáveis de ambiente permitem personalizar como o sistema funciona e o comportamento dos aplicativos no sistema. Por exemplo, a variável de ambiente pode armazenar informações sobre o editor de texto ou navegador padrão, o caminho para os arquivos executáveis ou as configurações de local do sistema e de layout do teclado.
Neste guia, explicaremos como ler e definir variáveis de ambiente e shell.
Variáveis de ambiente e variáveis de shell
As variáveis têm o seguinte formato:
KEY=value KEY="Some other value" KEY=value1:value2
- Os nomes das variáveis diferenciam maiúsculas de minúsculas. Por convenção, as variáveis de ambiente devem ter nomes MAIÚSCULOS. Ao atribuir vários valores à variável, eles devem ser separados por dois pontos
:caractere. Não há espaço ao redor do símbolo igual=.
As variáveis podem ser classificadas em duas categorias principais, variáveis de ambiente e variáveis de shell.
Variáveis de ambiente são variáveis que estão disponíveis em todo o sistema e são herdadas por todos os processos e shells filhos gerados.
Variáveis de shell são variáveis que se aplicam apenas à instância atual do shell. Cada shell, como
zsh
e
bash
, tem seu próprio conjunto de variáveis internas do shell.
Existem vários comandos disponíveis que permitem listar e configurar variáveis de ambiente no Linux:
-
env- O comando permite executar outro programa em um ambiente customizado sem modificar o atual. Quando usado sem argumento, imprimirá uma lista das variáveis de ambiente atuais.printenv- O comando imprime todas ou as variáveis de ambiente especificadas.set- O comando define ou desativa as variáveis do shell. Quando usado sem argumento, imprimirá uma lista de todas as variáveis, incluindo variáveis de ambiente e shell, e funções de shell.unset- O comando exclui variáveis de shell e de ambiente.export- O comando define variáveis de ambiente.
Listar variáveis de ambiente
O comando mais usado para exibir as variáveis de ambiente é
printenv
. Se o nome da variável for passado como argumento para o comando, apenas o valor dessa variável será exibido. Se nenhum argumento for especificado,
printenv
imprime uma lista de todas as variáveis de ambiente, uma variável por linha.
Por exemplo, para exibir o valor da variável de ambiente
HOME
, você deve executar:
printenv HOME
A saída imprimirá o caminho do usuário conectado no momento:
/home/linuxize
Você também pode passar mais de um argumento para o comando
printenv
:
printenv LANG PWD
en_US /home/linuxize
printenv
A saída será mais ou menos assim:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35;… LESSCLOSE=/usr/bin/lesspipe %s %s LANG=en_US S_COLORS=auto XDG_SESSION_ID=5 USER=linuxize PWD=/home/linuxize HOME=/home/linuxize SSH_CLIENT=192.168.121.1 34422 22 XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop SSH_TTY=/dev/pts/0 MAIL=/var/mail/linuxize TERM=xterm-256color SHELL=/bin/bash SHLVL=1 LANGUAGE=en_US: LOGNAME=linuxize XDG_RUNTIME_DIR=/run/user/1000 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin LESSOPEN=| /usr/bin/lesspipe %s _=/usr/bin/printenv
Abaixo estão algumas das variáveis de ambiente mais comuns:
-
USER- O usuário conectado no momento.HOME- O diretório inicial do usuário atual.EDITOR- O editor de arquivo padrão a ser usado. Este é o editor que será usado quando você digitareditno seu terminal.SHELL- O caminho do shell do usuário atual, como bash ou zsh.LOGNAME- O nome do usuário atual.PATH- Uma lista de diretórios a serem pesquisados ao executar comandos. Quando você executa um comando, o sistema pesquisará esses diretórios nessa ordem e usará o primeiro executável encontrado.LANG- As configurações atuais de localidades.TERM- A emulação de terminal atual.MAIL- local de armazenamento do correio do usuário atual.
Os comandos
printenv
e
env
imprimem apenas as variáveis de ambiente. Se você deseja obter uma lista de todas as variáveis, incluindo ambiente, shell e variáveis e funções de shell, pode usar o comando
set
:
set
BASH=/bin/bash BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=()
O comando exibirá uma grande lista de todas as variáveis; portanto, você provavelmente deseja canalizar a saída para o comando
less
.
set | less
Você também pode usar o comando echo para imprimir uma variável de shell. Por exemplo, para imprimir o valor da variável
BASH_VERSION
, você deve executar:
echo $BASH_VERSION
Definindo variáveis de ambiente
Para ilustrar melhor a diferença entre as variáveis Shell e Environment, começaremos com a configuração de Shell Variables e depois passaremos para as variáveis Environment.
Para criar uma nova variável de shell com o nome
MY_VAR
e o valor
Linuxize
basta digitar:
MY_VAR='Linuxize'
Você pode verificar se a variável está configurada usando o
echo $MY_VAR
da filtragem da saída do comando set com grep
set | grep MY_VAR
set | grep MY_VAR
:
echo $MY_VAR
Linuxize
Use o comando
printenv
para verificar se esta variável é uma variável de ambiente ou não:
printenv MY_VAR
A saída estará vazia, o que nos indica que a variável não é uma variável de ambiente.
Você também pode tentar imprimir a variável em uma subcasca e obterá uma saída vazia.
bash -c 'echo $MY_VAR'
O comando
export
é usado para definir variáveis de ambiente.
Para criar uma variável de ambiente, exporte a variável shell como uma variável de ambiente:
export MY_VAR
Você pode verificar isso executando:
printenv MY_VAR
Linuxize
bash -c 'echo $MY_VAR'
Linuxize
Você também pode definir variáveis de ambiente em uma única linha:
export MY_NEW_VAR="My New Var"
As variáveis de ambiente criadas dessa maneira estão disponíveis apenas na sessão atual. Se você abrir um novo shell ou se desconectar todas as variáveis serão perdidas.
Variáveis de ambiente persistentes
Para tornar as variáveis de ambiente persistentes, você precisa definir essas variáveis nos arquivos de configuração do bash. Na maioria das distribuições Linux, quando você inicia uma nova sessão, as variáveis de ambiente são lidas nos seguintes arquivos:
-
/etc/environment- use esse arquivo para configurar variáveis de ambiente em todo o sistema. As variáveis neste arquivo são definidas no seguinte formato:FOO=barVAR_TEST="Test Var"/etc/profile- As variáveis definidas neste arquivo são carregadas sempre que um shell de login do bash é inserido. Ao declarar variáveis de ambiente neste arquivo, você precisa usar o comandoexport:export JAVA_HOME="/path/to/java/home"export PATH=$PATH:$JAVA_HOME/binArquivos de configuração específicos do shell por usuário. Por exemplo, se você estiver usando o Bash, poderá declarar as variáveis no
~/.bashrc:export PATH="$HOME/bin:$PATH"
Para carregar as novas variáveis de ambiente na sessão atual do shell, use o comando
source
:
Conclusão
Neste guia, mostramos como definir e listar variáveis de ambiente e shell.
Sinta-se livre para deixar um comentário se tiver alguma dúvida.
terminalGoogle fizeram o melhor para cortejar desenvolvedores na conferência I / O deste ano com um ambiente de desenvolvimento integrado muito necessário, API para melhores jogos e a capacidade de traduzir mais facilmente aplicativos. Sua lealdade se tornará cada vez mais importante à medida que o hardware de smartphones e tablets obtiver menos melhorias significativas. O Google fez o melhor para cortejar os desenvolvedores na conferência de E / S deste ano com um ambiente de desenvolvedor integrado mu
"Vocês, desenvolvedores do Android, são realmente o coração desse ecossistema e acho que você sabe disso. Estamos nessa jornada juntos há mais de cinco anos. agora, "disse Hugo Barra, vice-presidente de gerenciamento de produtos Android, durante a palestra de abertura.
Developing Windows Phone 7.5 Aplicativos: variáveis, tipos de dados e atribuição de valores
Neste tutorial, veremos quais variáveis e tipos de dados são e como atribuir ou recuperar valores de variáveis
Rapid Environment Editor: Um Editor de Variáveis de Ambiente para Windows
Rapid Environment Editor é um poderoso Editor de Valor ou Variáveis de Ambiente para Windows 10/8 / 7. Leia revisão, descarregue Rapid EE livre. Portable disponível.







