Marco's Bash Functions Library - Summary
MBFL is a library of functions for the GNU Bash shell, intended to be sourced by scripts at runtime. It offers: a script infrastructure; command line options parsing; some string and file pathnames manipulation; an interface/infrastructure to external programs that allows (for example) to request, via a command line option, a "dry run" to see which commands are required and how they are executed; an API to organise test suites.
This package is an attempt to make GNU Bash a viable solution for medium sized scripts. A problem with Bash is that it does not provide encapsulation of any sort, beside the feature of functions. This problem is partly solved by writing subscripts and invoking them as subprocesses, but this is not always the best solution.
A set of modules implementing common operations and a script template are provided 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 done using the special variable substitution provided by bash, and no use is done of utilities like sed, grep and ed.
The library is better used if our script is developed on the template provided in the package. This is because with MBFL some choices have been made to reduce the application dependent part of the script to the smallest dimension; this is especially true for the options parsing module.
Registration Date: Friday 11/05/2004 at 07:53 CET
License: GNU Lesser General Public License
Development Status: 5 - Production/Stable
posted by marcomaggi, Thursday 05/21/2009 at 13:46 CEST - 0 replies
Uploaded revision 1.3b5 to the download area. It comes with an example script to send mail and an Emacs interface to use it.
posted by marcomaggi, Saturday 04/18/2009 at 07:54 CEST - 0 replies
Revision 1.3b4 is available in the download area. It has small improvements to the action arguments parsing.
posted by marcomaggi, Tuesday 04/14/2009 at 08:04 CEST - 0 replies
Release 1.3b3 is available in the download area. It adds action arguments to process command line arguments like the Git executable.
posted by marcomaggi, Saturday 04/11/2009 at 17:33 CEST - 0 replies
Revision 1.3b2 is available in the download area.

