POSIX sh não permite que funções sejam exportadas, mas o bash sim. ~/.profile
é originado por um shell POSIX, não por bash. Também é inútil exportar funções, pois somente o bash pode lê-las e usá-las. Basta colocar as funções em ~/.bashrc
e não exportá-las.