The following variables are expected to be defined before the MBFL code is evaluated. They are used by MBFL to compute values for its own variables.
The minimum, full, semantic version specification of the MBFL library needed by this script,
optionally prefixed with a v
character; Semantic version specifications. We
can use this variable both to validate the required version at runtime or merely as a comment on the
requirements of the script. We can request the main module to compare the version hard–coded in
the MBFL with the one required by the script, as specified by this variable; Main
function.
The name of the script. It is used, for example, in error and verbose messages.
The name of the script author(s). It is used in copyright statements.
A comma separated list of years of copyright. It is used in copyright statements.
The version number of the script. It is used in copyright statements and it can be directly queried using the command line options --version and --version-only.
The identifier of the license under which the script is released. Accepted values are: GPL
or GPL2
, GPL3
, LGPL
or LGPL2
, LGPL3
, BSD
, liberal
.
It is used to select the appropriate value to be displayed when the user of the script selects the
--license
option. Predefined options
Must be a string, of one or more lines, describing the synopsis of the program. It is usually something like:
script_USAGE="usage: ${script_PROGNAME} [options] ..."
if the script accepts either input from the stdin channel and input from a selected file, it is useful to present both cases:
script_USAGE="usage: ${script_PROGNAME} [options] <INPUT-FILE usage: ${script_PROGNAME} [options] INPUT-FILE"
If the script defines multiple actions: it is better to define a synopsis description for every supported action, by setting this variable in the action–specific “before parsing options” function. Selecting actions to perform for details.
One line string providing a brief description of the program. It is used
in the help screen (the one echoed when the --help option is
used) right after the content of script_USAGE
.
If the script defines multiple actions: it is better to define a usage description for every supported action, by setting this variable in the action–specific “before parsing options” function. Selecting actions to perform for details.
One or more lines of text to be displayed at the end of the help screen, after the options description. It should contain examples of common invocations for the script.
If the script defines multiple actions: it is better to define a set of examples description for every supported action, by setting this variable in the action–specific “before parsing options” function. Selecting actions to perform for details.
All the text in these variables is used as argument to the printf
built–in command; in particular: script_DESCRIPTION
and
script_EXAMPLES
are used as first argument to printf
, so
the escape sequences (in particular \t
and \n
) are
expanded.
The following example shows how to declare the variables.
script_REQUIRED_MBFL_VERSION=v3.0.0-devel.4 script_PROGNAME=myscript.sh script_AUTHOR='Marco Maggi and Marco Maggi' script_COPYRIGHT_YEARS='2002, 2003, 2004' script_VERSION=1.0 script_LICENSE=GPL3 script_USAGE="usage: $script_PROGNAME [options] ..." script_DESCRIPTION='Does this and that.' script_EXAMPLES='Examples: \tmyscript.sh --do-something arg arg ... \tmyscript.sh --do-other arg arg ...'
Notice that script_DESCRIPTION
and script_EXAMPLES
do not end with a newline character.
This document describes version 3.0.0-devel.9 of Marcos Bash Functions Library.