Date: Sun, 29 Feb 2004 06:44:48 -0600 From: Martin McCormick <[EMAIL PROTECTED]> Subject: Re: Search Path in bash2 To: [EMAIL PROTECTED] Message-ID: <[EMAIL PROTECTED]>
I am quoting one response I received, but my thanks to everyone who answered. I went to the system in question and figured I would methodically try every suggestion I received until I either exhausted all possibilities or something worked. I was hoping for a global solution that would not require modifying each user's .bash_profile, and it turns out that /etc/profile appears to do the trick. After one false start of setting $path instead of $PATH, I added the following line which I have broken for readability: PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin: /usr/local/bin:/usr/local/etc:/usr/X11R6/bin:~/bin This appears to correctly modify the behavior in the desired manner. Again, many thanks to all who answered. Martin McCormick WB5AGZ Stillwater, OK OSU Information Technology Division Network Operations Group Peter Risdon writes: >When bash is invoked as an interactive login shell, or as a non-inter- > active shell with the --login option, it first reads and >executes com- > mands 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. > >But so far as I have seen, at least on FreeBSD, /etc/profile does not >generally contain path info. This is normally set in ~/.profile and the >default contains something like this: > ># remove /usr/games and /usr/X11R6/bin if you want >PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/ >usr/X11R6/ >bin:$HOME/bin; export PATH > >So my guess is that to conform closely to this way of doing things, add >the path to each user's ~/.profile and also to >/usr/share/skel/dot.profile so it is there immediately for new users. > >Alternatively, unless someone contradicts this, the man page seems to >suggest you could add a path to /etc/profile and it would then be >system-wide. I have never done this myself, though, so can't vouch for >it whereas I have edited ~/.profile frequently. > >HTH. > >PWR. ********** Reply Separator ********** Sunday, February 29, 2004 6:01:48 PM Peter, you stated the following: When bash is invoked as an interactive login shell, or as a non-inter-active 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 If I am following you correctly, then having a ~/,bashrc, ~/.bashrc or ~/.profile file is worthless, if bash reads only the first file that it finds. I am referring in this scenario to the ~/.bash_profile file. That isn't exactly what I gleamed from the "FreeBSD" book by Annelise Anderson. Perhaps what she is referring to is an older version of bash. I am not insinuating that you are incorrect; I am just trying to get the most accurate information in regards to how bash works. Gerard E. Seibert [EMAIL PROTECTED] Beware of quantum ducks. <quark> <quark> _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"