Ed Greshko wrote:
Paul Allen Newell wrote:
Ed Greshko wrote:
Paul Allen Newell wrote:
Suvayu Ali wrote:
Hi Aaron,
On Monday 28 December 2009 02:11 PM, Aaron Konstam wrote:
On Mon, 2009-12-28 at 03:04 -0800, Suvayu Ali wrote:
> ~/.bash_profile gets sourced by any "well behaved" desktop > environment > when ever you login. In my experience XFCE and WindowMaker does > this. (I > don't use Gnome/KDE as often, so can't comment on them). > > ~/.bashrc gets sourced when ever you open an interactive shell, > maybe by > opening a terminal emulator or login in remotely. > > This means whenever you login remotely both ~/.bash_profile& > ~/.bashrc > gets sourced. However if you open a terminal emulator like > gnome-terminal or xterm only your ~/.bashrc gets sourced. > > It is my impression that.bashrc is souurced whenever any program is run in a bash environment. I am willing to be corrected.
By bash environment if you mean a terminal emulator then that is exactly what I meant in my previous post. However if for example you run something using a menu or shortcut on your desktop or maybe Alt-F2 then ~/.bashrc is _not_ sourced, and environment variables defined there won't be available to you. If you want something like that, you need to define it in your ~/.bash_profile.
Hope this makes my point clearer. :)
Naive question .... it sounds like if a user has selected bash as shell-of-choice, then bash_profile is there for any operation (terminal or not) that would involve the use of the shell? I might not be saying this right, but I am trying to understand just how global bash_profile is and, if not, why it isn't as it seems by your email that for all intents and purposes it is global to a user's login process.
Thanks for bearing with the question given that you already know I am running tcsh and therefore this is a learning exercise as opposed to a real occurrence in my usage of fedora.
Paul
Why not just read "man bash"?
Because bring up the "man bash" pages and searching for "profile" gives me info about what happens with a shell or a non-interactive --login shell and doesn't give me any meta information that either answers my question or makes it clear that I am asking the wrong question.
http://www.gnu.org/software/bash/manual/bashref.html
One of the reasons to watch/read this forum is to get answers to questions that man pages don't supply. In my experience, if you want to know exactly how to do something with a given command/whatever, they are great. If you want to get an understanding of the overall picture of the command/whatever, they aren't very good as they assume you have already commit to "this is what I am using so how do I do this particular operation".
To ask what is the scope of ".bash_profile" outside of sourcing order in particular occurrences, I don't see it in the man pages.
I am more than happy to be told that I am totally incorrect in my interpretation of this.
Thanks (and that includes making me double-check the man pages to prove to myself that I am not seeing the answer I am looking for!), Paul
I suppose I don't understand your question or what makes you think the man page doesn't answer it.....
The man page tells you under what conditions the various files (/etc/profile, ~/.bash_profile ~/.bash_login etc) are read depending on what type of shell (interactive, login).
Are you saying there is a situation not covered?
Remember, everything that is executed is executed under a shell.
Ed,
Thanks for bearing with me on this.
I think part of my confusion is that I am not understanding whether a login shell covers everything that is done once I have logged in via splash screen or if it is confined to "logining into a shell". If the former, then I would assume bash_profiles is hit once and everything done thereafter would be under its command. If the latter, then I am probably unclear about whether launching a terminal is a "login" act (hence under bash_profile only within that shell).
As I said on my initial reply to this thread, "Naive question". I may be missing a fundamental understanding of shells and logins and all that sort of stuff.
Paul