fbpx

Comandos Linux – Comando export

Comando Bash Export Builtin

Atualizado: 05/04/2019 por Computer Hope

comando de exportação

Em sistemas operacionais do tipo Unix, export é um comando interno do shell Bash . Ele designa variáveis e funções especificadas a serem passadas para processos filhos .

Descrição

Normalmente, quando você executa um comando no prompt do bash, um processo dedicado é criado com seu próprio ambiente , apenas para o seu comando. Quaisquer variáveis ​​e funções que você definiu antes de executar o comando não serão compartilhadas com novos processos – a menos que você as marque explicitamente com a exportação .

Sintaxe

  exportar [ -f ] [ -n ] [ nome [ = valor ] ...]
  exportar -p

Opções

O comando builtin de exportação possui as seguintes opções:

-fA opção -f deve ser usada se os nomes se referirem a funções. Se -f não for usado, a exportação assumirá que os nomes são variáveis.
-nVariáveis ​​nomeadas (ou funções, com -f ) não serão mais exportadas. Equivale a usar o comando declare + x name .
-pExibe uma lista de todas as variáveis ​​e funções marcadas para exportação.

Exemplos

A seguinte série de comandos ilustrará como as variáveis ​​são passadas para um processo filho no bash, com e sem exportação . Primeiro, defina o valor de uma nova variável chamada myvar :

  myvar = "Esta variável está definida."

Verifique se foi definido e se possui um valor no contexto atual do shell:

  echo $ myvar
  Esta variável está definida.

Crie um novo contexto de shell executando o bash no prompt de comando do bash:

  bater

Agora você tem um novo shell bash, que está sendo executado dentro da sua sessão original do bash. A variável myvar não tem valor nesse contexto, porque não foi passada do shell original:

  echo $ myvar

(Somente uma nova linha é impressa, porque myvar não tem valor.)

Agora, saia deste shell, que retornará a sessão bash original:

  Saída

Aqui, myvar ainda tem um valor:

  echo $ myvar
  Esta variável está definida.

Agora, inicie uma nova sessão do bash novamente – mas desta vez, exporte a variável primeiro:

  exportar myvar
  bater

Desta vez, o valor de myvar foi passado para o novo shell:

  echo $ myvar
  Esta variável está definida.

Ótimo. Saia do subshell:

  Saída

Agora vamos verificar se também funciona com funções.

Crie uma nova função shell, myfunc . Você pode definir uma função bash shell colocando parênteses após o nome da função e, em seguida, um comando composto . Um comando composto pode assumir diferentes formas; aqui, vamos colocá-lo entre chaves , com um ponto – e – vírgula após cada comando, incluindo o último:

  myfunc () {echo "Esta função está definida.";  }

Agora myfunc é um nome de comando que você pode executar no shell atual:

  myfunc
  Esta função está definida.

Para passar essa função para qualquer processo filho, use export -f :

  exportar -f myfunc

Você pode verificar se foi aprovado iniciando o bash em um processo filho e executando myfunc :

  bater
  myfunc
  Esta função está definida.

Esperamos que esses exemplos o ajudem a entender melhor como a exportação é útil e a entender melhor como o bash cria novos processos.

Não esqueça que você sempre pode verificar quais variáveis ​​e funções serão exportadas para processos filho executando export -p :

  exportar -p
  (uma lista realmente longa do que é exportado do shell atual)

declare – Defina ou exiba os valores e atributos das variáveis ​​e funções do bash.
exec – Destrua o shell atual e substitua-o por um novo processo.

18 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.