As funções definidas em .bash_profile só estão disponíveis no shell que lê .bash_profile e não está disponível em sub-shells.
Quando você abre uma janela de terminal, talvez esteja abrindo um shell de login non . Alguns programas de terminal podem permitir que você abra um shell de login (por exemplo, gnome-terminal tem em edit - > profile preferences ).
No entanto, se você desembolsar outro programa (por exemplo, executar :sh de vi ), você não verá essas funções.
Normalmente, no entanto, as funções e itens que você deseja definir em cada shell devem ser colocados em .bashrc .