Julian Phillips [off-list ref] writes:
(I'm not the only one who thinks CDPATH is ick am I? :S)
CDPATH is Ok as long as it stays as an interactive shell
variable.
Sadly, if you google for "CDPATH environment", you would see
many many hits. That variable is not meant to be used as an
environment variable.
Something like this in .bashrc is acceptable:
case "$PS1" in
'')
;; # do not do useless thing for noninteractive
?*)
CDPATH=my:favorite:path
. $HOME/.bash-completion
;;
esac
but people usually are way too careless than that and export
CDPATH to the environment, and that is where breakages start.