Adding --liststeps and --version
This commit is contained in:
57
sequencer.sh
57
sequencer.sh
@@ -14,6 +14,11 @@ set -o pipefail
|
|||||||
|
|
||||||
## Globals
|
## Globals
|
||||||
{
|
{
|
||||||
|
readonly _sqr_version=16
|
||||||
|
readonly _sqr_versionMajor=0
|
||||||
|
readonly _sqr_versionMinor=0
|
||||||
|
readonly _sqr_versionString="${_sqr_version}.${_sqr_versionMajor}.${_sqr_versionMinor}"
|
||||||
|
|
||||||
## Seq
|
## Seq
|
||||||
readonly seq_name="${_sqn_alias:-${0##*/}}"
|
readonly seq_name="${_sqn_alias:-${0##*/}}"
|
||||||
readonly seq_dir="$(cd -- "$(dirname -- "${0}")" && pwd)"
|
readonly seq_dir="$(cd -- "$(dirname -- "${0}")" && pwd)"
|
||||||
@@ -34,6 +39,7 @@ set -o pipefail
|
|||||||
readonly sqr_origin="$(cd -- "$(dirname -- \
|
readonly sqr_origin="$(cd -- "$(dirname -- \
|
||||||
"$(readlink -f -- "${BASH_SOURCE[0]}")")" && pwd)"
|
"$(readlink -f -- "${BASH_SOURCE[0]}")")" && pwd)"
|
||||||
|
|
||||||
|
_sqr_stepMax=512
|
||||||
_sqr_interactive=1
|
_sqr_interactive=1
|
||||||
_sqr_debug=0
|
_sqr_debug=0
|
||||||
_sqr_dry=0
|
_sqr_dry=0
|
||||||
@@ -210,6 +216,11 @@ set -o pipefail
|
|||||||
# trap 'sqr::error_report "${FUNCNAME:-.}" ${LINENO}' ERR
|
# trap 'sqr::error_report "${FUNCNAME:-.}" ${LINENO}' ERR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# check if there is another PID other than this one
|
||||||
|
running() {
|
||||||
|
pidof -o %PPID -x "${0##*/}">>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
# exists [-f] [--] [ELEMENT]
|
# exists [-f] [--] [ELEMENT]
|
||||||
# [ELEMENT]
|
# [ELEMENT]
|
||||||
# : either a variable name or
|
# : either a variable name or
|
||||||
@@ -227,12 +238,12 @@ exists() {
|
|||||||
func="${2:-}"
|
func="${2:-}"
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
sqr::debugContinue
|
||||||
if [[ -n "${func}" ]] ; then
|
if [[ -n "${func}" ]] ; then
|
||||||
declare -F "${func}" &>>/dev/null
|
declare -F "${func}" &>>/dev/null
|
||||||
else
|
else
|
||||||
[[ -n "${!1:-}" ]]
|
[[ -n "${!1:-}" ]]
|
||||||
fi
|
fi
|
||||||
sqr::debugContinue
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# interactive
|
# interactive
|
||||||
@@ -351,6 +362,42 @@ ask() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# listSteps [FILTER STRING]
|
||||||
|
# [FILTER STRING]
|
||||||
|
# show only steps and aliases starting with [FILTER STRING]
|
||||||
|
listSteps() {
|
||||||
|
local aList=()
|
||||||
|
local aSearch="${1:-}"
|
||||||
|
local locAlias=
|
||||||
|
|
||||||
|
for ((i=1; i<=${_sqr_stepMax}; i++)); do
|
||||||
|
# Display step reference in help if step function exists
|
||||||
|
exists -f step_${i} || continue
|
||||||
|
|
||||||
|
# Display alias if exists
|
||||||
|
if exists -f step_${i}_alias ; then
|
||||||
|
step_${i}_alias
|
||||||
|
locAlias=("$ALIAS")
|
||||||
|
else
|
||||||
|
locAlias=("$i")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$aSearch" ]; then
|
||||||
|
aList+=("$locAlias")
|
||||||
|
elif [[ "$locAlias" =~ ^$aSearch ]]; then
|
||||||
|
aList+=("$locAlias")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
[ ${#aList[@]} -ne 0 ] && printf '%s\n' "${aList[@]}"
|
||||||
|
}
|
||||||
|
|
||||||
|
# showVersion
|
||||||
|
showVersion() {
|
||||||
|
printf 'Sequencer %s\n' "${_sqr_versionString}"
|
||||||
|
printf 'Seq Revision %s\n' "${VERSION_SEQREV:-"-"}"
|
||||||
|
}
|
||||||
|
|
||||||
# exe <COMMAND>
|
# exe <COMMAND>
|
||||||
# Handle dry run and verbose output for commands without pipe and/or redirects
|
# Handle dry run and verbose output for commands without pipe and/or redirects
|
||||||
exe() {
|
exe() {
|
||||||
@@ -388,6 +435,10 @@ sqr::main() {
|
|||||||
--dry-run|-d)
|
--dry-run|-d)
|
||||||
_sqr_dry=1
|
_sqr_dry=1
|
||||||
shift ;;
|
shift ;;
|
||||||
|
--liststeps|-ls)
|
||||||
|
shift
|
||||||
|
listSteps "${1:-}"
|
||||||
|
exit 0;;
|
||||||
--quiet|-q)
|
--quiet|-q)
|
||||||
_sqr_interactive=0
|
_sqr_interactive=0
|
||||||
shift ;;
|
shift ;;
|
||||||
@@ -398,6 +449,9 @@ sqr::main() {
|
|||||||
--verbose|-v)
|
--verbose|-v)
|
||||||
_sqr_verbose=1
|
_sqr_verbose=1
|
||||||
shift ;;
|
shift ;;
|
||||||
|
--version) # version request
|
||||||
|
showVersion
|
||||||
|
exit 0;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
@@ -410,7 +464,6 @@ sqr::main() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
sqr::print 'Running...\n'
|
sqr::print 'Running...\n'
|
||||||
confirm -y 'Continue?'
|
|
||||||
seq_config 2>/dev/null || true
|
seq_config 2>/dev/null || true
|
||||||
step_1 "$@"
|
step_1 "$@"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user