Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A collection of functions for GNU Bash
Shell Emacs Lisp
branch: master


		     Marco's Bash Functions Library


  1. Introduction
  2. License
  3. Install
  4. Usage
  A. Credits
  B. Bugs
  C. Resources

1. Introduction

The MBFL  is a  collection of  shell functions for  the GNU  Bash shell.
This package  is an attempt  to make Bash  a viable solution  for medium
sized scripts; it needs at least Bash version 4.

   This package makes use of the GNU Autotools.

2. License

Copyright (c) 2003-2005, 2009-2010, 2012-2014 Marco Maggi.

This is  free software; you can  redistribute it and/or modify  it under
the terms of  the GNU Lesser General Public License  as published by the
Free Software Foundation; either version 3.0 of the License, or (at your
option) any later version.

This library  is distributed  in the  hope that it  will be  useful, but
WITHOUT   ANY   WARRANTY;  without   even   the   implied  warranty   of
General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this library; if not,  write to the Free Software Foundation,
Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

3. Install

To install from  a proper release tarball, after  unpacking the archive,
do this:

    $ cd mbfl-1.3.0
    $ mkdir build
    $ cd build

to inspect the available configuration options:

    $ ../configure --help

then do it:

    $ ../configure [options]
    $ make
    $ make check
    $ make install

  From  a repository  checkout or  snapshot  (the ones  from the  Github
site): we must  install the GNU Autotools (GNU  Automake, GNU Autoconf),
then  we must  first run  the script  "" from  the top  source
directory, to generate the needed files:

    $ cd develstuff
    $ sh

we  should   now  see   the  executable   "configure"  script   and  the
"" file.  From now on everything  is the same as for building
from a proper release tarball, but we have to run the "configure" script
enabling the maintainer mode:

    $ ../configure --enable-maintainer-mode [options]
    $ make
    $ make install

  The  Makefile supports  the  DESTDIR environment  variable to  install
files in a temporary location, example: to see what will happen:

    $ make -n install DESTDIR=/tmp/mbfl

to really do it:

    $ make install DESTDIR=/tmp/mbfl

  Notice that,  when running "make check",  we can select which  test to
run by redefining the "TESTS" variable; for example:

    $ make check TESTS=program.test

will run only the "program.test" file.

  After building the package, and before  installing it, we can test the
example scripts as follows:

    $ make test-template MFLAGS='--help'

will run "examples/" with the flags "--help";

    $ make test-template-actions MFLAGS='one green gas --help'

will run "examples/" with the flags "--help".

4. Usage

Read the documentation in Texinfo format.   Briefly: the best way to use
the library  is to include at  runtime the library file  "" in
the script; this is possible by  installing MBFL on the system and using
this code in the scripts:

  source "${MBFL_LIBRARY:=$(type -p mbfl-config && mbfl-config)}"

the  output of  the "mbfl-config"  script is  the full  pathname of  the
library  file.  The  value  can be  overridden  setting the  environment
variable "MBFL_LIBRARY".

A. Credits

The  stuff was  written by  Marco Maggi.   If this  package exists  it's
because of the great GNU software tools that he uses all the time.

B. Bugs

Bug reports  are appreciated: You  should use  the issue tracker  at the
Github site.

C. Resources

The GNU Project software can be found here:


the MBFL home page is at:


development takes place at:


and as backup at:


proper release tarballs for this package are in the download area


the Freshmeat page is:


### end of file
# Local Variables:
# mode: text
# coding: utf-8-unix
# fill-column: 72
# paragraph-start: "*"
# End:
Something went wrong with that request. Please try again.