bash-util/dynamic_main.bash
Andrea Rogers 3830737655 [NEW] dynamic_main: New dynamic main/argv helper!
See t/dynamic_main.bash for an early example of how to use it.
2023-10-31 21:27:05 -05:00

18 lines
382 B
Bash

command -v dedcat || \
source "$(dirname ${BASH_SOURCE[0]})/logging.bash"
[ -z "${fns[@]}" ] && dedcat 'ERROR: Empty or undefined ${fns[@]} array!'
read -d '' HELPSTR <<EOH
Usage: $0 OPERATION
$EXTRA_NOTE
Operations:
$(for fn in ${fns[@]}; do echo " $fn: $($fn help)"; done)
EOH
[[ " ${fns[*]} " =~ [[:space:]]${1}[[:space:]] ]] \
|| dedcat "$HELPSTR"
op="$1"
shift
$op $@