Это зависит от того, как вы запустите свою оболочку. Как уже говорили другие, оболочка входа будет загружать ваш профиль (сначала будет искать .bash_profile, а затем будет пытаться .profile). Если он находит один из них, он загружает их. Оболочка без входа в систему (интерактивная или неинтерактивная) будет источником .bashrc.
Я бы предложил положить все в .bashrc. Разделение .profile / .bashrc было произвольным и имело больше смысла в старые времена UNIX, когда tty не было просто именем устройства и означало настоящий TeleType. Он предназначался для запуска определенных вещей (например, проверки почты) при «основном» входе в систему на сервере и просто обычной настройки для других оболочек. В большинстве Linux'ов вы сейчас авторизуетесь, на самом деле вы не входите в оболочку, поскольку вы входите в какой-то графический интерфейс (KDE, gnome, CDE 'shudder'). Менеджер сеансов теперь позаботится о "процессах входа в систему". Это гораздо менее актуально сейчас.
Мое предложение: сделать ваш .profile состоящим исключительно из:
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
как первая строка .bashrc, защититесь от странных вещей, происходящих при запуске bash-скрипта, выпрыгнув рано:
[[ $- != *i* ]] && return