table of contents
LIBBASH(7) | 7 (libbash manual) | LIBBASH(7) |
NAME¶
libbash
— A bash
shared libraries package.
DESCRIPTION¶
libbash
is a package that enables bash
dynamic-like shared libraries. Actually its a tool for managing bash scripts
whose functions you may want to load and use in scripts of your own.
It contains a ‘dynamic
loader
’ for the shared libraries (
ldbash(1)), a configuration tool
(ldbashconfig(8)), and some libraries.
Using ldbash(1) you are able to load loadable bash libraries, such as getopts(1) and hashstash(1). A bash shared library that can be loaded using
ldbash(1) must answer 4 requirments:
- It must be installed in $LIBBASH_PREFIX/lib/bash (default is /usr/lib/bash).
- It must contain a line that begins with
‘
#EXPORT=
’. That line will contain (after the ‘=
’) a list of functions that the library exports. I.e. all the function that will be usable after loading that library will be listed in that line. - It must contain a line that begins with
‘
#REQUIRE=
’. That line will contain (after the ‘=
’) a list of bash libraries that are required for our library. I.e. every bash library that is in use in our bash library must be listed there. - The library must be listed (For more information, see ldbashconfig(8)).
Basic guidelines for writing library of your own:¶
- Be aware, that your library will be actually sourced. So, basically, it should contain (i.e define) only functions.
- Try to declare all variables intended for internal use as local.
- Global variables and functions that are intended for internal use (i.e are
not defined in ‘
#EXPORT=
’) should begin with: For example, internal function myfoosort of hashstash library should be named as This helps to avoid conflicts in global name space when using libraries that come from different vendors. - See html manual for full version of this guide.
AUTHORS¶
Hai Zaar
⟨haizaar@haizaar.com⟩
Gil Ran ⟨ril@ran4.net⟩
SEE ALSO¶
ldbash(1), ldbashconfig(8), getopts(1), hashstash(1) colors(1) messages(1) urlcoding(1) locks(1)
Linux |