Bash Startup Files

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Fri Jun 11 06:02:38 PDT 2004


"Arend P. van der Veen" <apv at capital.net> writes:

> 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)

There are easier ways to find the manual.  "info bash" or even "man bash" 
would have gotten you to the information...

> 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.

I can't reproduce this.  In my own setup, it is clearly not the case.

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

As far as I can see, the Fine Manual is entirely accurate on this point.


More information about the freebsd-questions mailing list