Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Jun 2004 13:58:11 -0400
From:      "Arend P. van der Veen" <apv@capital.net>
To:        freebsd-questions@freebsd.org
Subject:   Bash Startup Files
Message-ID:  <40C8A133.9020300@capital.net>

next in thread | raw e-mail | index | archive | help
Hi,

I have been trying to clarify what bash startup files are sourced and when.  
I am using bash-2.05b.007.  I have been hunting around on the web and I have
found the following summary: 

For Login shells:

    On logging in:
       If `|/etc/profile|' exists, then source it.

       If `|~/.bash_profile|' exists, then source it,
          else if `|~/.bash_login|' exists, then source it,
             else if `|~/.profile|' exists, then source it.

    On logging out:
       If `|~/.bash_logout|' exists, source it.

For non-login interactive shells:
    On starting up:
       If `|~/.bashrc|' exists, then source it.

For non-interactive shells:
    On starting up:
       If the environment variable |ENV| is non-null, expand the
       variable and source the file named by the value.  If Bash is
       not started in Posix mode, it looks for |BASH_ENV| before
       |ENV|.

(From http://www.cse.unsw.edu.au/help/doc/info/bash/Bash_Startup_Files.html)

Other discussions on this topic essentially state the same thing.
After some testing it is not clear to me if bash under FreeBSD 4.9 is 
working the same way. I have a case where both ~/.profile and ~/.bash_profile 
exist and both are sourced.   This is in contradition to the above statements.

Can anybody point me to information to clarify what bash startup files are sourced
and when ?

Thanks in advance,
Arend van der Veen




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40C8A133.9020300>