Bug in $PATH initialization?
Mark Harig
idirectscm@aim.com
Mon Jun 8 23:06:00 GMT 2009
From the bash manual (in emacs: M-: (info "(bash) Bash Startup Files")):
"When Bash is invoked as an interactive login shell, or as a
non-interactive shell with the `--login' option, it first reads and
executes commands 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."
and
"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."
So, in the typical case, when you start bash with '-i', it sources the
following files:
/etc/profile # which typically contains PATH initialization
~/.bash_profile # or some other "login" file, such as ~/.profile
~/.bash_profile will usually source ~/.bashrc (the non-login code)
To avoid having these files read, start bash with '--noprofile' (if you wish
to avoid reading /etc/profile and ~/.bash_profile) and '--norc' (if you wish
to avoid reading ~/.bashrc. Or, simply edit /etc/profile and ~/.bashrc,
where PATH is typically set to get PATH to have the ordering that you
want.
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list