Place to install library of shell functions

Dan Nelson dnelson at
Tue Apr 5 16:04:27 UTC 2011

In the last episode (Apr 05), Michael Grünewald said:
> today I come to you with what seems to be somehow pedantic question: where
> is the best place to install libraries of shell functions.
> I read hier(4) carefully and it seems the correct place for this would 
> be somewhere under `/usr/local/share':
>                  share/    architecture-independent files
> On the base systems, many macros (make templates and groff macros) are
> actually installed under /usr/share.  However, the only library of shell
> functions I am aware of is `/etc/rc.subr', that landed on this funny
> location, probably to be pretty sure that this library is on the same
> filesystem as the scripts under /etc/rc.d.
> Several of the ports install shell scripts under `/usr/local/lib' that
> hier(4) devotes to ``shared and archive ar(1)-type libraries''.  These
> shell scripts are:

The zsh port installs all its helper scripts and functions into
/usr/local/share/zsh , and the portupgrade and portmaster ports insert their
zsh autocompletion functions into /usr/local/share/zsh/site-functions. 
Seems to work great.  Ports that install scripts into /usr/local/lib
probably either don't have separate script and lib install paths in their
makefile (tcl probably), or their scripts aren't meant to be called directly

	Dan Nelson
	dnelson at

More information about the freebsd-questions mailing list