This document describes version 3.0.0-devel.9 of MBFL, a collection of libraries of functions for the GNU Bash shell. It requires GNU Bash at least version 4.3; it require GNU m4 (other m4 implementations will not do). The package is distributed under the terms of the GNU Lesser General Public License (LGPL).
This package is an attempt to make GNU Bash a viable solution for medium sized scripts; a set of modules implementing common operations and script templates are offered by this package and the author has used them with success in implementing non–small scripts.
The philosophy of MBFL is to do the work as much as possible without external commands. For
example: string manipulation is implemented using the special variable substitution provided by
Bash, and no use is done of utilities like sed
, grep
and ed
. Despite
that, MBFL really needs the GNU Coreutils package to perform a lot of tasks.
The libraries are better used starting from the template scripts in the examples/ subdirectory of the distribution, especially template.sh and template-actions.sh. This is because, with MBFL, some choices are made to reduce the application–dependent part of the script to the smallest dimension; if we follow another schema, MBFL modules may be inadequate. This is especially true for the actions and options parsing modules.
The installed libraries are:
The core library implementing shell language extensions, adaptations and system interface. libmbfl.bash should be a symbolic link to libmbfl-core.bash.
A library to embed into scripts to load other libraries at run–time; Searching and loading libraries at run–time.
A library to organise test suites for shell functions; Building test suites.
A library of utilities, not always required by a script; Utilities library.
An interface to the executable at
and the daemon atd
; Interface
to the external program at
.
An interface to the common file system archiving and compressing tools; Archiving and compressing files.
Password strings generation; Generating somewhat random passwords.
Basic interface to the version control program git
; Version control with
git
.
Data containers library; Data containers library.
Starting with version 3: this package installs files under directories without the version part. If we desire to install multiple versions of the package: we should install under /opt/mbfl/$VERSION, by using the appropriate command line option at configuration time:
$ ./configure --prefix=/opt/mbfl/3.0.0
This package relies on: GNU m4
for preprocessing scripts; the GNU Coreutils to perform
many file system related tasks; the package sudo
to perform tasks with modified user
privileges.
• overview loading: | How to load the core library. | |
• overview autotools: | Using the GNU Autotools. | |
• overview rv: | Result variables. | |
• overview notes: | Miscellaneous notes. |
This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.