Lista de variáveis ​​de ambiente no Linux/Unix

⚡ Resumo Inteligente

As variáveis ​​de ambiente no Linux e Unix são valores nomeados dinâmicos que definem o comportamento dos programas e do shell, armazenando configurações como o PATH, o diretório inicial, o editor padrão, o idioma e o shell atualmente em uso.

  • ???? O que eles são: As variáveis ​​de ambiente armazenam valores dinâmicos que afetam os processos e podem ser criadas, editadas e excluídas.
  • 🧭 CAMINHO: A variável PATH lista os diretórios que o shell pesquisa para encontrar e executar comandos.
  • 🔎 Valores de leitura: O comando `echo` exibe uma única variável, enquanto `env` e `printenv` listam todas as variáveis ​​de ambiente.
  • 🆕 Criando: Atribua um valor com NAME=valor e, em seguida, use o comando export para torná-lo disponível para os processos filhos.
  • 🗑️ Excluindo: O comando unset remove uma variável e seu valor da sessão atual do shell.
  • 💾 Persistência: Adicione linhas de exportação ao arquivo ~/.bashrc ou /etc/environment para manter as variáveis ​​entre as sessões.
  • 🤖 Ajuda da IA: Assistentes de IA e o GitHub Copilot podem auditar variáveis ​​e gerar scripts de shell que as utilizam.

Lista de variáveis ​​de ambiente comuns no Linux e Unix

As variáveis ​​de ambiente são um dos primeiros aspectos que vale a pena compreender em qualquer sistema. Linux ou sistema Unix, pois controlam silenciosamente o comportamento dos seus programas e do shell. Este guia explica o que são, os mais comuns e como lê-los, criá-los e excluí-los.

O que é um ambiente computacional?

O ambiente computacional é a plataforma (plataforma = sistema operativo + processador) onde um usuário pode executar programas.

O que é uma variável?

Em ciência da computação, uma variável é um local para armazenar um valor, que pode ser um nome de arquivo, texto, número ou qualquer outro tipo de dado. Geralmente, ela é referida pelo seu nome simbólico, que lhe é atribuído no momento da criação. O valor armazenado pode então ser exibido, excluído, editado e salvo novamente.

As variáveis ​​desempenham um papel importante na programação de computadores, pois permitem que os programadores escrevam programas flexíveis. Como estão vinculadas ao sistema operacional que você utiliza, é importante conhecer algumas delas e como influenciá-las.

O que são variáveis ​​de ambiente?

Variáveis ​​de ambiente são valores dinâmicos que afetam os processos ou programas em um computador. Elas existem em todos os sistemas operacionais, mas os tipos podem variar. Variáveis ​​de ambiente podem ser criadas, editadas, salvas e excluídas, e fornecem informações sobre o comportamento do sistema.

As variáveis ​​de ambiente podem alterar o comportamento de softwares e programas. Por exemplo, a variável de ambiente $LANG armazena o idioma que o usuário compreende. Esse valor é lido por um aplicativo para que um usuário chinês veja uma interface em mandarim, enquanto um usuário americano veja uma interface em inglês.

Vamos estudar algumas variáveis ​​de ambiente comuns:

Variável Descrição
PATH Essa variável contém uma lista de diretórios separados por dois pontos (:) nos quais o sistema procura arquivos executáveis. Quando você digita um comando no terminal, o shell procura o comando nos diretórios listados na variável $PATH. Se o comando for encontrado, ele é executado. Caso contrário, retorna o erro 'comando não encontrado'.
USUÁRIO O nome de usuário
INICIO Caminho padrão para o diretório inicial do usuário
EDITOR Caminho para o programa que edita o conteúdo dos arquivos.
UID ID exclusivo do usuário
PRAZO Emulador de terminal padrão
SHELL Shell sendo usado pelo usuário

Acessando valores de variáveis

Para determinar o valor de uma variável, use o comando echo:

echo $VARIABLE

Por exemplo, a captura de tela abaixo mostra o valor da variável PATH exibido com o comando echo.

Exibindo o valor da variável PATH com o comando echo

Qualquer variável de ambiente pode ser lida da mesma forma. A saída abaixo mostra o comando `echo` retornando o valor de uma variável.

Saída do comando echo mostrando o valor de uma variável de ambiente.

As variáveis ​​diferenciam maiúsculas de minúsculas, portanto, certifique-se de digitar o nome da variável com as letras maiúsculas e minúsculas corretas; caso contrário, você poderá não obter o resultado desejado. Para listar todas as variáveis ​​de ambiente de uma só vez, use o comando `env`, como mostrado abaixo.

O comando `env` lista todas as variáveis ​​de ambiente no terminal.

Definir novas variáveis ​​de ambiente

Você pode criar sua própria variável definida pelo usuário com esta sintaxe:

VARIABLE_NAME=variable_value

Novamente, lembre-se de que os nomes de variáveis ​​diferenciam maiúsculas de minúsculas e geralmente são escritos em maiúsculas. Uma variável criada dessa forma é uma variável local do shell que somente o shell atual pode ver. Para promovê-la a uma variável de ambiente que os processos filhos também herdam, use o comando export:

export VARIABLE_NAME=value

A captura de tela abaixo mostra uma nova variável sendo criada e, em seguida, exibida com o comando echo.

Criar e exibir uma nova variável de ambiente definida pelo usuário.

Excluindo Variáveis

A seguinte sintaxe remove uma variável do sistema:

unset variablename

Isso remove a variável e seu valor da sessão atual do shell, conforme mostrado abaixo.

Removendo uma variável de ambiente com o comando unset

Perguntas Frequentes

Uma variável de shell existe apenas no shell atual e não é passada para outros programas. Uma variável de ambiente é uma variável de shell que foi exportada, de modo que os processos filhos iniciados a partir desse shell a herdam. Use o comando `export` para promover uma variável.

As variáveis ​​definidas no terminal desaparecem ao fechar a sessão. Para mantê-las, adicione a linha de exportação a um arquivo de inicialização: ~/.bashrc ou ~/.profile para um único usuário, ou /etc/environment para todos os usuários do sistema. Recarregue o arquivo ou abra o terminal novamente para aplicar as alterações.

Adicione o novo diretório ao PATH existente para não sobrescrevê-lo: `export PATH=$PATH:/seu/novo/diretório`. Isso adiciona sua pasta à lista que o shell usa para buscar comandos. Coloque a mesma linha no arquivo `~/.bashrc` para que a alteração persista em novas sessões.

O comando `printenv` lista apenas as variáveis ​​de ambiente e pode exibir uma única variável, como `printenv HOME`. O comando `env` também lista as variáveis ​​de ambiente e pode executar um programa com um ambiente modificado. O comando `set` exibe tudo, incluindo variáveis ​​e funções do shell, não apenas as exportadas.

Isso geralmente significa que você sobrescreveu o PATH em vez de adicioná-lo, então o shell não consegue mais encontrar comandos padrão. Sempre inclua $PATH ao configurá-lo. Para recuperar na sessão atual, execute `export PATH=/usr/local/bin:/usr/bin:/bin` e, em seguida, corrija seu arquivo de inicialização.

É conveniente, mas arriscado. Variáveis ​​de ambiente podem ser lidas de /proc, são herdadas por processos filhos e frequentemente vazam para logs ou relatórios de falhas. Para segredos sensíveis, prefira um gerenciador de segredos dedicado ou um arquivo criptografado com permissões restritas em vez de uma variável simples.

Assistentes de IA podem explicar a função de uma variável desconhecida, auditar arquivos de configuração em busca de entradas ausentes ou duplicadas e sinalizar segredos acidentalmente expostos em variáveis. Ferramentas de aprendizado de máquina também podem analisar ambientes de processos em diversos servidores para detectar configurações incorretas que seriam tediosas de revisar manualmente.

Sim. Travas deslizantes portáteis Copiloto do GitHub Pode gerar instruções de exportação, edições em ~/.bashrc e scripts de shell que leem variáveis ​​como $HOME ou $PATH. Ele sugere a sintaxe enquanto você digita, embora seja recomendável revisar qualquer código que manipule credenciais antes de executá-lo.

Resuma esta postagem com: