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
Para exibir o conteúdo de uma variável específica, como a variável HOME:
$ printenv HOME
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
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
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
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.
Excelente conteúdo! Você é um excelente professor e suas aulas me ajudam muito! Muito obrigada Fábio! 😀
Muito obrigado Camila! Abraço!
Aprendo muito com o Fábio. Assisto às aulas da faculdade para conhecer o assunto, mas para aprender de verdade, é na bosontreinamentos…