Me deparei com um bash_profile
arquivo que faz uso da export -f
declaração da seguinte maneira:
# Run xelatex and BibTeX
function xelatex_bibtex {
xelatex -shell-escape "${1}.tex" &&
bibtex "${1}" &&
xelatex -shell-escape "${1}.tex" &&
xelatex -shell-escape "${1}.tex"
}
export -f xelatex_bibtex
No entanto, funções definidas sem export -f
parecem funcionar perfeitamente bem:
# Search for synonyms
function syn {
wn "${1}" -synsn
}
Qual é o papel export -f
e o que é considerado uma boa prática ao criar uma função de conveniência em bash_profile
relação ao uso de export
?
Seu papel é exatamente análogo ao das variáveis - ou seja, exportar a definição para ambientes herdados.
Então
Iniciar um shell filho
Agora:
enquanto o mesmo shell filho depois de exportar a função: