Run CLI

Definition file r.def

# Run

# ------------------------------------------------------------------------------------------------------------
= MDM
# ------------------------------------------------------------------------------------------------------------

start mdm (sm) [<streaming|ui|all|k(afka)>|kapp>|shaper] :: \
    mjn-start-mdm $1 \
    ## kapp starts kafka streaming for the application data source

restart mdm (rm) [<streaming|ui|all|k(afka)>|kapp|shaper>] :: \
    mjn-stop-mdm; \
    mjn-start-mdm $1 \
    ## kapp starts kafka streaming for the application data source

halt mdm (hm) :: \
    mjn-stop-mdm

# ------------------------------------------------------------------------------------------------------------
= ES / Postgres
# ------------------------------------------------------------------------------------------------------------

start es (se) :: \
    mjn-start-es-pg es

start postgres (sp) :: \
    mjn-start-es-pg pg


# ------------------------------------------------------------------------------------------------------------
= CLI-BUILDER
# ------------------------------------------------------------------------------------------------------------

cli build all (cba) :: \
    cd ~/mjnurse/cli-builder; \
    cli-builder *.def

Alias file

# Completion function
_r_complete() {
    local cur prev all
    all=""
    for ((i = 1; i < ${#COMP_WORDS[@]}; i++)); do
        word="${COMP_WORDS[i]}"
        [[ $word != -* ]] && all+="$word "
    done
    all="$(echo $all | xargs)"
    cur="${COMP_WORDS[COMP_CWORD]}"
    prev_step=1
    prev="${COMP_WORDS[COMP_CWORD-$prev_step]}"
    while [[ "${prev:0:1}" == "-" ]]; do
        let prev_step=prev_step+1
        prev="${COMP_WORDS[COMP_CWORD-$prev_step]}"
    done

}
complete -F _r_complete r @rhe @rsm @rrm @rhm @rse @rsp @rcba

# Shortcut aliases
alias @rhe='r rhe'
alias @rsm='r rsm'
alias @rrm='r rrm'
alias @rhm='r rhm'
alias @rse='r rse'
alias @rsp='r rsp'
alias @rcba='r rcba'

Bash script

#!/usr/bin/env bash
debug_yn=n
[[ "$1" == "-d" ]] && { debug_yn=y; shift; }
[[ "${CLI_DEBUG^^}" == "TRUE" ]] && debug_yn=y

C_CYA="\x1b[96m" C_GRE="\x1b[92m" C_MAG="\x1b[95m" C_WHI="\x1b[97m" C_DEF="\x1b[0m"

# param 1 - actual number of parameters
# param 2 - required number of parameters
# param 3 - incorrect parameters message
check_params() {
  [[ "$1" < "$2" ]] && { echo -e "$3"; exit; }
}

print_command() {
  [[ $debug_yn == y ]] && { echo "COMMAND: $*" | sed 's/"/\"/g'; echo "COMMAND: $*" | sed 's/./-/g'; }
}
section="HELP"

if [[ "$1" == "help" || "$1" == "rhe" ]]; then
   [[ "$1" == "rhe" ]] && shift || shift 1
   usage="\x1b[95mhelp \x1b[96m(rhe)\x1b[97m\x1b[0m"
   check_params $# 0 "Usage: $usage"

echo -e "\x1b[95mgenerated:2026-06-11 13:33\x1b[0m"
echo

            while IFS= read -r line; do echo -e "${line}${CRESET}"; done < <(egrep "usage=|section=" "$0" | grep -v "grep" | sed "s/.*usage=/   /; s/.*section=/\x1b[92m/; s/\"//g")
   exit
fi
section="MDM"

if [[ "$1 $2" == "start mdm" || "$1" == "rsm" ]]; then
   [[ "$1" == "rsm" ]] && shift || shift 2
   usage="\x1b[95mstart mdm \x1b[96m(rsm)\x1b[97m [streaming|ui|all|k(afka)>|kapp>|shaper]\x1b[92m # kapp starts kafka streaming for the application data source\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " mjn-start-mdm $1"
   mjn-start-mdm $1
   exit
fi

if [[ "$1 $2" == "restart mdm" || "$1" == "rrm" ]]; then
   [[ "$1" == "rrm" ]] && shift || shift 2
   usage="\x1b[95mrestart mdm \x1b[96m(rrm)\x1b[97m [streaming|ui|all|k(afka)>|kapp|shaper]\x1b[92m # kapp starts kafka streaming for the application data source\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " mjn-stop-mdm; mjn-start-mdm $1"
   mjn-stop-mdm; mjn-start-mdm $1
   exit
fi

if [[ "$1 $2" == "halt mdm" || "$1" == "rhm" ]]; then
   [[ "$1" == "rhm" ]] && shift || shift 2
   usage="\x1b[95mhalt mdm \x1b[96m(rhm)\x1b[97m\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " mjn-stop-mdm"
   mjn-stop-mdm
   exit
fi
section="ES / Postgres"

if [[ "$1 $2" == "start es" || "$1" == "rse" ]]; then
   [[ "$1" == "rse" ]] && shift || shift 2
   usage="\x1b[95mstart es \x1b[96m(rse)\x1b[97m\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " mjn-start-es-pg es"
   mjn-start-es-pg es
   exit
fi

if [[ "$1 $2" == "start postgres" || "$1" == "rsp" ]]; then
   [[ "$1" == "rsp" ]] && shift || shift 2
   usage="\x1b[95mstart postgres \x1b[96m(rsp)\x1b[97m\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " mjn-start-es-pg pg"
   mjn-start-es-pg pg
   exit
fi
section="CLI-BUILDER"

if [[ "$1 $2 $3" == "cli build all" || "$1" == "rcba" ]]; then
   [[ "$1" == "rcba" ]] && shift || shift 3
   usage="\x1b[95mcli build all \x1b[96m(rcba)\x1b[97m\x1b[0m"
   check_params $# 0 "Usage: $usage"
   print_command " cd ~/mjnurse/cli-builder; cli-builder *.def"
   cd ~/mjnurse/cli-builder; cli-builder *.def
   exit
fi

if [[ "$1" == "" ]]; then
  echo "No option passed"
else
  echo "$*: invalid option"
fi
echo "Try "r help" for more information."