De man bash :
When bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.
When a login shell exits, bash reads and executes commands from the files ~/.bash_logout and /etc/bash.bash_logout, if the files exists.
When an interactive shell that is not a login shell is started, bash reads and executes commands from ~/.bashrc, if that file exists.
"Shells interativos" são aqueles que começam em primeiro plano em um terminal, mas não são necessariamente shells de login .
A login shell is one whose first character of argument zero is a -, or one started with the --login option.
Terminais GUI não fazem isso.
É por isso que, geralmente, .profile sources .bashrc - então .bashrc pode conter o material que você quer para todos shells, e .profile qualquer material adicional apenas para shells de login. Às vezes, isso é qualificado em .profile verificando se $PS1 (o prompt interativo) está definido, para que .bashrc seja incluído apenas para os interativos. Uma razão para isso seria evitar o uso de certos aliases em shells não interativos (por exemplo, execução de scripts).
Então: você pode colocar sua definição de $ PATH em ~/.bashrc e ter certeza de que ela é proveniente de ~/.profile ou ~/bash_profile .