Search Path in bash2

Peter Risdon peter at circlesquared.com
Fri Feb 27 13:05:33 PST 2004


Martin McCormick wrote:

>	I am trying to modify the execution path on a FreeBSD system
>for all the bash2 users on that system.  The man page says that 
>
>  
>
>>	      default path is system-dependent, and is set by the
>>	      administrator who installs bash.	A common value is
>>	      ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''.
>>    
>>
>
>	How do I set, or in this case, reset it? 
>  
>
The man page also says:

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.





More information about the freebsd-questions mailing list