[oclug] .bash_profile/.bashrc
Patrick Smith
patsmith at pobox.com
Mon Jul 14 14:51:45 EDT 2003
Joe Burpee wrote:
> On Mon, Jul 14, 2003 at 00:11:52 -0400, Patrick Smith wrote:
>>There might be a case for exec'ing .xsession as a login shell.
>
> It seems more to the point to me that there's a trivial case for
> exec-ing a _login_ shell at _login_ time.
>
>>But this
>>isn't enough to get bash to source .bash_profile; the shell needs to be
>>interactive as well,
>
> That's news to me. Do you have a reference for that?
From 'man bash' (bash 2.05b):
When bash is invoked as an interactive login shell, or as a non-inter-
active shell with the --login option, it first reads and executes com-
mands 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 an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc, if that file exists. This
may be inhibited by using the --norc option. The --rcfile file option
will force bash to read and execute commands from file instead of
~/.bashrc.
When bash is started non-interactively, to run a shell script, for
example, it looks for the variable BASH_ENV in the environment, expands
its value if it appears there, and uses the expanded value as the name
of a file to read and execute.
More information about the OCLUG
mailing list