Criando variáveis personalizadas

ShellBeginner
Pratique Agora

Introdução

Nos laboratórios anteriores, analisamos variáveis existentes, como User. Agora, vamos criar suas próprias “anotações adesivas”.

Uma variável é apenas um nome que armazena algum texto.

No entanto, quando você cria uma variável, ela fica privada no shell atual. Para compartilhá-la com outros programas, você precisa “exportá-la”.

Essa diferença entre uma variável do shell e uma variável de ambiente é uma das ideias centrais deste módulo. Nem toda variável passa automaticamente a fazer parte do ambiente visto pelos processos filhos.

Neste laboratório, você vai:

  • Criar uma variável MYCAFE.
  • Ler seu conteúdo.
  • “Exportá-la”.
  • Verificar se ela funciona em um segundo shell.

Criar uma variável

Vamos criar uma variável chamada MYCAFE e defini-la como "espresso".

Criar uma variável é como escrever em uma anotação adesiva.

Execute:

MYCAFE="espresso"

Importante: não use espaços ao redor do sinal de =.

  • Correto: MYCAFE="espresso"
  • Incorreto: MYCAFE = "espresso"

Se você usar espaços, o shell interpretará MYCAFE como um comando.

Este é um bom exemplo de como a sintaxe do shell é sensível a espaços em branco. No shell, os espaços não são apenas formatação visual; eles geralmente separam palavras e argumentos com significado real.

Exibir uma variável

Agora, verifique se o valor foi armazenado.

Para acessar o valor, use o cifrão $.

Execute:

echo $MYCAFE

Saída:

espresso

Se você omitir o $, echo simplesmente exibirá a palavra "MYCAFE".

Exportar uma variável

Neste momento, MYCAFE é uma variável local. É como uma anotação no seu caderno particular.

Para compartilhá-la com outros programas, precisamos exportá-la. Isso a transforma em uma variável de ambiente, como se você a colocasse em um quadro de avisos.

Você pode pensar em export como uma instrução para o shell: “inclua esta variável ao iniciar programas filhos”. Sem export, o valor permanece local apenas para o shell atual.

Execute:

export MYCAFE

Agora, MYCAFE será passada para qualquer programa iniciado a partir deste shell.

Testar em um shell filho

Vamos confirmar que isso funciona iniciando um shell “filho”.

  1. Inicie uma nova sessão do bash:
bash

Agora você está dentro de um novo processo de shell.

  1. Verifique se ele conhece MYCAFE:
echo $MYCAFE

Saída:

espresso

Funcionou! O shell filho herdou o valor.

Herança é a palavra-chave aqui. Os processos filhos geralmente começam com uma cópia do ambiente do processo pai. É por isso que as variáveis exportadas são uma forma tão comum de passar contexto para scripts e comandos.

  1. Saia do shell filho e retorne ao shell pai:
exit

Resumo

Neste laboratório, você praticou o ciclo de vida de uma variável:

  • Criação: MYCAFE="espresso" (sem espaços!)
  • Leitura: echo $MYCAFE (não se esqueça do $)
  • Compartilhamento: export MYCAFE (tornando-a disponível para processos filhos)

Esse mecanismo é exatamente como o sistema configura seu ambiente (PATH, USER etc.) antes mesmo de você fazer login!