: I know how to circumvent this. But I would like to know why they
behave
: differently.
: I have assumed they should be the same.
If you want to know the gory details of .login, .bash_login, .profile,
and
.bash_profile, and which ones get invoked when and in what order, do
"man
bash", read the man page, and be prepared for a good cry.
Oh, come on now, it's not that bad. ;-/
I don't think
anyone is dismissing your intellectual curiosity, but it's a real mess
and
anyone writing an explanation would just be recopying the stuff in the
man
page. You're picking at a really bad wart of Unix history.
I'd rather say that this is one of those rough edges of the real world
that the industry keeps trying to sweep under the carpet. Not so much
that Unix is warty (although it is) as that the real world just doesn't
wrap up as neatly as some computer vendors would have us believe.
In the end, you need to set $ENV{PATH} explicitly before you spawn any
subprograms. It's the only way to be sure.
And it is the correct solution.
I think there is a cleaner way, but the infrastructure does not exist.
--
Joel Rees
msn.com and hotmail.com users take note --
Microsoft wants to refuse my mail if I don't use SenderID starting
November.
SenderID was refused as an internet standard and does not stop SPAM,
and it contains a Microsoft patented algorithm.
Draw your own conclusions.