Como listar as variáveis de ambiente no Linux

Como listar as variáveis de ambiente no Linux

Variáveis são estruturas na memória de um sistema que permitem armazenar dados de forma temporária para que possam ser processados ou utilizados por programas em execução. Elas podem ser criadas por uma aplicação qualquer que esteja sendo executada, ou ainda podem ser criadas pelo próprio sistema operacional, durante sua inicialização ou em momentos específicos. É deste segundo tipo de variáveis que trataremos neste artigo.

Existem dois tipos de variáveis de sistema no Linux: Variáveis de Ambiente e Variáveis de Shell.

Variáveis de ambiente são variáveis definidas para o shell atual e que são herdadas por quaisquer shells ou processos filhos. São também conhecidas como Variáveis Globais. As variáveis de ambiente são empregadas para passar informações para processos que sejam gerados a partir do shell. O shell mantém variáveis de ambiente que armazenam informações específicas sobre a sessão do shell ou do ambiente de trabalho, como o nome do usuário atualmente logado, nome do sistema, UID do usuário, caminhos de busca para comandos e outras mais.

Variáveis do shell são variáveis contidas exclusivamente no shell no qual elas foram configuradas ou definidas. São também conhecidas como Variáveis Locais. Geralmente são usadas para manter registro de dados efêmeros, como por exemplo o valor do diretório de trabalho atual.

Existem diversas formas de se listar as variáveis de ambiente no Linux, com seus respectivos valores. As formas mais comuns incluem o emprego dos comandos:

  • printenv
  • env
  • set

Veremos exemplos de uso de cada um deles.

Comando printenv

Permite exibir todas as variáveis de ambiente ou apenas uma parte delas.

Exemplo:

$ printenv
Comando printenv no Linux

(saída truncada)

Para exibir o conteúdo de uma variável específica, como a variável HOME:

$ printenv HOME

Variável de ambiente com printenv no Linux

Comando env

Mostra as variáveis de ambiente que foram exportadas, mas não mostra todas as variáveis do shell. Também pode ser usado para executar um comando em um ambiente modificado.

Exemplo:

$ env
Variáveis de ambiente com comando env no Linux

(saída truncada)

Podemos também modificar o valor de uma variável de ambiente com o comando env. Por exemplo, vamos alterar o valor de HISTSIZE para 800:

$ env HISTSIZE=800

Comando set

Mostra o nome e o valor de cada variável do shell. Também permite alterar valores de opções do shell.

Exemplo:

$ set
Variáveis de ambiente com comando set no Linux

(saída truncada)

Se você deseja apenas visualizar o conteúdo de uma variável de ambiente em particular, use o comando echo, seguido do nome da variável (precedido por um cifrão $). Por exemplo, para visualizar o conteúdo da variável de ambiente HISTFILE execute:

$ echo $HISTFILE

Variável de ambiente com echo no Linux

A tabela a seguir informa as variáveis de ambiente e de shell mais comuns em Linux, com suas respectivas funções:

Variável Função
BASH_VERSION Armazena a versão do shell bash em execução, em formato legível por humanos.
CDPATH Caminho de busca do comando cd
DIRSTACK Pilha de diretórios disponíveis para os comandos pushd e popd
DISPLAY Configura o valor do display X
EDITOR Configurar o editor de texto padrão do sistema
HISTFILE Nome do arquivo no qual o histórico de comandos é salvo
HISTFILESIZE Número máximo de linhas contidas no arquivo de histórico
HISTSIZE Número de comandos a serem armazenados no histórico de comandos. O valor padrão é 500.
HOME Diretório pessoal do usuário atual.
HOSTNAME Nome do computador.
IFS “Internal Field Separator” (Separador de Campos Interno). Caractere usado para separar palavras após a expansão e para dividir linhas em palavras ao usar o comando read do shell. O valor padrão é <espaço><tab><newline>
LANG Configurações de localização e idioma atuais, incluindo a codificação de caracteres.
PATH Caminhos de busca para os comandos. É uma lista de diretórios, separados por dois-pontos (:), nos quais o shell procura pelos executáveis dos comandos.
PS1 Configurações do prompt do usuário.
PWD Valor do diretório de trabalho atual
RANDOM Retorna um número aleatório entre 0 e 32767.
TMOUT Timeout padrão do comando read do shell.
TERM Tipo de terminal de login do usuário.
SHELL Configuração de caminho do shell que interpretará os comandos digitados. Geralmente, é o shell bash.
USER Usuário logado atualmente.

Referências

Blum, R., Bresnahan, C. Linux Command Line and Shell Scripting. Wiley. 2ª edição, 2011.

 

Sobre Fábio dos Reis (1344 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

2 Comentários em Como listar as variáveis de ambiente no Linux

  1. Excelente conteúdo! Você é um excelente professor e suas aulas me ajudam muito! Muito obrigada Fábio! 😀

Escreva um comentário

Seu e-mail não será divulgado


*