Você não precisa escrever muito (apenas um script de shell). As ferramentas já estão lá. Use-os para exportar apenas o que você precisa para evitar o ônus de consertar as funções do shell de outras pessoas.
(set; alias) |
ssh -l root 10.3.0.8 'mkdir ~/tmp 2>/dev/null; cat > ~/tmp/.import'
Isso não é à prova de falhas, então você deve tentar a saída até achar que ela funciona corretamente.
(set; alias) > ~/tmp/import
bash -n tmp/import
tmp/import: line 6085: syntax error near unexpected token '('
tmp/import: line 6085: ' !(?(*/)python*([0-9.])|-?))'
Isso é menos problemático com apenas variáveis de ambiente, porque é fácil impor um formato analisável:
env | sed -Ee "
s/'/\\'/g;
s/=(.*)/=''/
" > tmp/export.vars-only
E exportar apenas suas funções pode ser feito assim.
declare -f 'grep ^function ~/.functions | awk '{print $2}''
Se você usar a sintaxe moo() { true;}
para declará-las ou alguma variação delas, tente grep -Eoe '^\w+' ~/.functions