Search Path in bash2
Scott W
wegster at mindcore.net
Sat Feb 28 10:31:03 PST 2004
Peter Risdon wrote:
> 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.
>
>
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to
> "freebsd-questions-unsubscribe at freebsd.org"
>
You can add any environment vars you'd like to /etc/profile- this is
still the preferred method for some cases...for example, if you're the
sysadmin for a project group that all needs additional software that may
have been installed in the /usr/local/<somewhere>/bin tree, instead of
binaries in /usr/local/bin. So if it's assumed that all users will need
a given PATH, add it to /etc/profile. If it's a per user addition, add
it in ~/.bash_profile..
There are a mixture of other ways to do this, with the 'new thing' being
application dependent env vars (LD_LIBRARY_PATH, PATH, etc)- in Linux,
this is generally done via /etc/profile.d/<appname>.sh, but is not
generally used for correcting user-owned variables. So in other words,
/etc/profile is fine ;-)
Scott
More information about the freebsd-questions
mailing list