Comando Bash Export Builtin
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
- Sintaxe
- Exemplos
- Comandos relacionados
- Ajuda do Bash builtins
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:
-f | A 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. |
-n | Variáveis nomeadas (ou funções, com -f ) não serão mais exportadas. Equivale a usar o comando declare + x name . |
-p | Exibe 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)
Comandos relacionados
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.