[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