Exportando uma Variável
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 63 de 82.
Quando você define uma variável como MY_NAME="Alice", ela existe apenas no seu shell atual. Se você executar um script ou iniciar outro programa, essa variável não estará disponível para ele. É aqui que o export entra em cena.
O comando export torna uma variável disponível para qualquer processo filho, o que significa que programas ou scripts lançados a partir do seu shell atual podem acessá-la:
export MY_NAME="Alice"Você também pode exportar uma variável existente:
MY_NAME="Alice"
export MY_NAMEAmbas as abordagens alcançam o mesmo resultado. A variável se torna parte do ambiente que é passado para qualquer comando que você executar em seguida.
Para ver a diferença, considere executar um script que tenta usar $MY_NAME.
Sem export, o script não vê nada. Com export, o script pode acessar o valor.
É por isso que variáveis de sistema como PATH e HOME são exportadas por padrão. Elas precisam estar disponíveis para todo programa que você executa.
Você pode verificar se uma variável está exportada verificando se ela aparece na saída do env:
env | grep MY_NAMEVariáveis exportadas ainda desaparecem quando você fecha o terminal. A próxima lição explica como fazer variáveis persistirem entre sessões.
Desafio
FácilExporte uma variável chamada PROJECT com o valor terminal-course, em seguida, verifique se ela foi exportada filtrando a saída do env para mostrar apenas a sua nova variável.
Você pode fazer isso em uma única linha usando export para definir e exportar a variável de uma vez, depois encaminhe env através de grep para encontrá-la.
Sua saída deve ser:
PROJECT=terminal-courseDica: Primeiro execute
export PROJECT="terminal-course", depois useenv | grep PROJECTpara verificar se ela aparece no ambiente.
Folha de consulta
O comando export torna uma variável disponível para processos filhos (programas ou scripts lançados a partir do seu shell atual):
export MY_NAME="Alice"Você também pode exportar uma variável existente:
MY_NAME="Alice"
export MY_NAMESem o export, as variáveis existem apenas no shell atual e não são acessíveis a scripts ou programas que você executa.
Para verificar se uma variável foi exportada, verifique se ela aparece na saída do env:
env | grep MY_NAMEVariáveis exportadas desaparecem quando você fecha o terminal.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados