Sua função é exatamente análoga àquela no caso de variáveis - isto é, para exportar a definição para ambientes herdados.
Então
$ foo() { echo bar; }
$ foo
bar
Iniciar um escudo filho
$ bash
Agora:
$ foo
Command 'foo' not found, did you mean:
command 'roo' from snap roo (2.0.3)
command 'fio' from deb fio
command 'fgo' from deb fgo
command 'fog' from deb ruby-fog
command 'woo' from deb python-woo
command 'fox' from deb objcryst-fox
command 'goo' from deb goo
command 'fop' from deb fop
See 'snap info <snapname>' for additional versions.
considerando o mesmo shell filho após exportar a função:
$ export -f foo
$ bash
$ foo
bar