Environment variables in bash_profile or bashrc?
Posted
by
Viriato
on Super User
See other posts from Super User
or by Viriato
Published on 2012-04-06T04:15:25Z
Indexed on
2012/04/06
5:32 UTC
Read the original article
Hit count: 518
I have found this question [blog]: Difference between .bashrc and .bash_profile very useful but after seeing the most voted answer (very good by the way) I have further questions. Towards the end of the most voted, correct answer I see the statement as follows :
Note that you may see here and there recommendations to either put environment variable definitions in ~/.bashrc or always launch login shells in terminals. Both are bad ideas.
Why is it a bad idea (I am not trying to fight, I just want to understand)?
If I want to set an environment variable and add it to the PATH (for example JAVA_HOME) where it would be the best place to put the export entry? in ~/.bash_profile or ~/.bashrc?
If the answer to question number 2 is ~/.bash_profile, then I have two further questions:
3.1. What would you put under ~/.bashrc? only aliases?
3.2. In a non-login shell, I believe the ~/.bash_profile is not being "picked up". If the export of JAVA_HOME entry was in bash_profile would I be able to execute javac & java commands? Would it find them on the PATH? Is that the reason why some posts and forums suggest setting JAVA_HOME and alike to ~/.bashrc?
Thanks in advance.
© Super User or respective owner