Como verificar se uma variável de ambiente está definida no Linux

LinuxBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá técnicas fundamentais para trabalhar com variáveis de ambiente no Linux. Você explorará como exibir o valor de uma variável específica usando o comando echo, verificar se uma variável está definida e exibir seu valor usando o comando printenv, e listar todas as variáveis de ambiente atualmente definidas usando o comando set. Essas habilidades são essenciais para entender e interagir com o shell Linux e o ambiente do sistema.

Exibir variável com echo

Nesta etapa, você aprenderá como exibir o valor de uma variável usando o comando echo. Variáveis no Linux são usadas para armazenar informações que podem ser acessadas e usadas pelo shell e outros programas.

Uma variável comum que você encontrará é $HOME, que armazena o caminho para o seu diretório home. Vamos exibir seu valor.

Digite o seguinte comando no seu terminal e pressione Enter:

echo $HOME

Você deve ver o caminho para o seu diretório home impresso no terminal, que normalmente é /home/labex neste ambiente.

/home/labex

O símbolo $ antes do nome da variável é crucial. Ele informa ao shell que você deseja ver o valor da variável, não a string literal "$HOME".

Agora, vamos tentar exibir uma variável que não existe.

Digite este comando e pressione Enter:

echo $MY_VARIABLE

Você não verá nenhuma saída. Isso ocorre porque a variável MY_VARIABLE não foi definida, então seu valor está vazio.

Você também pode exibir múltiplas variáveis de uma vez:

echo $HOME $USER

Isso imprimirá o valor da variável $HOME seguido pelo valor da variável $USER (que é seu nome de usuário, labex).

/home/labex labex

Entender como exibir variáveis é uma habilidade fundamental no Linux, pois as variáveis são usadas extensivamente em scripting e configuração do sistema.

Clique em Continuar para prosseguir para a próxima etapa.

Verificar variável com printenv

Na etapa anterior, você usou echo para exibir o valor de uma variável. Outro comando útil para trabalhar com variáveis de ambiente é printenv.

printenv é projetado especificamente para imprimir os valores das variáveis de ambiente. Variáveis de ambiente são um tipo especial de variável que está disponível para processos em execução no sistema.

Vamos usar printenv para exibir o valor da variável $USER.

Digite o seguinte comando no seu terminal e pressione Enter:

printenv USER

Você deve ver seu nome de usuário, labex, impresso no terminal.

labex

Observe que, ao usar printenv, você não usa o símbolo $ antes do nome da variável. printenv espera o próprio nome da variável como um argumento.

O que acontece se você tentar imprimir uma variável que não existe usando printenv?

Digite este comando e pressione Enter:

printenv MY_VARIABLE

Semelhante ao echo, você não verá nenhuma saída porque a variável MY_VARIABLE não está definida como uma variável de ambiente.

Embora echo possa exibir qualquer variável, printenv é especificamente para variáveis de ambiente. Em muitos casos, você pode usar qualquer um, mas printenv é frequentemente preferido quando você deseja especificamente trabalhar com variáveis de ambiente.

Clique em Continuar para prosseguir.

Listar todas as variáveis com o comando set

Nas etapas anteriores, você aprendeu como exibir variáveis individuais usando echo e printenv. Mas e se você quiser ver todas as variáveis que estão atualmente definidas no seu ambiente shell?

O comando set, quando usado sem nenhum argumento, listará todas as variáveis do shell, incluindo variáveis de ambiente e variáveis específicas do shell.

Digite o seguinte comando no seu terminal e pressione Enter:

set

Você verá uma longa lista de variáveis e seus valores. Esta saída inclui variáveis de ambiente (como HOME, USER, PATH), bem como variáveis específicas para sua sessão shell atual.

...
HOME=/home/labex
HOSTNAME=...
HOSTTYPE=x86_64
...
LANG=C.UTF-8
...
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
...
SHELL=/usr/bin/zsh
...
USER=labex
...

A saída pode ser bastante extensa. Você pode rolar por ela para ver as diferentes variáveis que são definidas por padrão no seu ambiente.

Comparando a saída de set e printenv (se você executasse printenv sem argumentos), você notaria que set inclui mais variáveis. Isso ocorre porque set mostra todas as variáveis do shell, enquanto printenv mostra apenas variáveis de ambiente.

Entender a diferença entre variáveis do shell e variáveis de ambiente é importante à medida que você se aprofunda no Linux. Variáveis de ambiente são herdadas por processos filhos, enquanto variáveis do shell são tipicamente locais para a sessão shell atual.

Você agora aprendeu três maneiras de interagir com variáveis no Linux: echo (para exibir variáveis individuais), printenv (para exibir variáveis de ambiente) e set (para listar todas as variáveis do shell).

Clique em Continuar para completar este laboratório.

Resumo

Neste laboratório, você aprendeu métodos fundamentais para interagir com variáveis de ambiente no Linux. Você primeiro explorou o uso do comando echo com o prefixo $ para exibir o valor de uma variável específica, entendendo que uma variável não definida não produzirá nenhuma saída. Você também praticou a exibição de múltiplas variáveis simultaneamente com echo. Posteriormente, você foi apresentado ao comando printenv, uma ferramenta dedicada para verificar e exibir os valores das variáveis de ambiente.