#!/bin/bash # vi: set tabstop=4 shiftwidth=4 expandtab : ROOTDIR=$(cd "$(dirname "$0")" && pwd) cd $ROOTDIR declare -A MAP_COMMAND # === Log ==================================================================== # CW="\033[1;37m" # White CG="\033[0;32m" # Green CY="\033[0;33m" # Yellow NC="\033[0m" # Reset function log { local II="${CW}╡${CG}ctl${CW}╞${NC}" echo -e "${II} $@" } log "${CY}Container Control Script ${CG}b20220114-0500${NC}" # === Import ================================================================= # for V in $(ls $ROOTDIR/ctl.d/*.sh) do . $V done # === Main =================================================================== # function main { local args=($@) local command=${args[0]} if [[ -n $command ]] then for cmd in $(echo "${!MAP_COMMAND[@]}") do if [ $command = $cmd ] then ${MAP_COMMAND[$cmd]} ${args[@]:1} return fi done fi print_help } function print_help { local vvv=$(echo "${!MAP_COMMAND[@]}" | tr ' ' "\n" | sort | tr "\n" ',' | sed 's/,/, /g') log "Use: ${vvv:: -2}" } main $@