blob: 85f992c41170bd514bc39070f0fc8c31414668f5 [file] [log] [blame]
#!/bin/bash
# Template to start a simple bash program. This is designed only for the
# simplest of programs where all program paramters are positional, there is no
# help text, etc.
# Description of argument(s):
# parm1 Bla, bla, bla (e.g. "example data").
###############################################################################
function get_parms {
# Get program parms.
parm1="${1}" ; shift
return 0
}
###############################################################################
###############################################################################
function validate_parms {
# Validate program parameters.
# Your validation code here.
if [ -z "${parm1}" ] ; then
echo "**ERROR** You must provide..." >&2
return 1
fi
return 0
}
###############################################################################
###############################################################################
function mainf {
# We create a mainf for a couple of reasons:
# The coding rules in a template are slightly different than for the true
# mainline. We wish to eliminate those inconsistencies. Examples:
# - The "local" builtin is allowed in functions but not in the mainline.
# - It is good practice to have functions return 1 rather than exit 1.
# return is not valid in the mainline. Again, we don't want to have to
# care when we code things about whether we are in the mainline or a
# function.
get_parms "$@" || return 1
validate_parms || return 1
# Your code here...
return 0
}
###############################################################################
###############################################################################
# Main
mainf "${@}"
rc="${?}"
exit "${rc}"
###############################################################################