#!/bin/bash clear ESC=`printf "\033"`; input_key() { read -s -n3 INPUT; echo $INPUT; } check_selected() { if [ $1 = $2 ]; then echo " => " else echo " " fi } select_menu() { SELECTED=1; INPUT=""; MIN_MENU=1; MAX_MENU=$#; while true; do for (( i=1; i<=$#; i++ )) do printf "$ESC[2K$(check_selected $i $SELECTED) $i. ${!i}\n"; done printf "\n$ESC[2KKubernetes Cluster Select\ninfra,cmoamgmt,saasmgmt,dsk-dev,dsk-prod\n\n"; INPUT=$(input_key); if [[ $INPUT = "" ]]; then break; fi if [[ $INPUT = $ESC[A ]]; then SELECTED=$(expr $SELECTED - 1); elif [[ $INPUT = $ESC[B ]]; then SELECTED=$(expr $SELECTED + 1); fi if [[ $SELECTED -lt $MIN_MENU ]]; then SELECTED=${MIN_MENU}; elif [[ $SELECTED -gt $MAX_MENU ]]; then SELECTED=${MAX_MENU}; fi printf "$ESC[$(expr $# + 3)A"; done return `expr ${SELECTED} - 1`; } select_test() { arr_params=("INFRA-CLUSTER" "CMOAMGMT-CLUSTER" "SAASMGMT-CLUSTER" "DSK-DEV-CLUSTER" "DSK-PROD-CLUSTER"); echo -e "\n"; echo " __ __ ____ _____ ______ __ __ "; echo " / //_/ ( __ ) / ___/ / ____/ / / __ __ _____ / /_ ___ _____ "; echo " / ,< / __ | \__ \ / / / / / / / / / ___/ / __/ / _ \ / ___/ "; echo " / /| | / /_/ / ___/ / / /___ / / / /_/ / (__ ) / /_ / __/ / / "; echo " /_/ |_| \____/ /____/ \____/ /_/ \__,_/ /____/ \__/ \___/ /_/ "; echo -e "\n"; select_menu "${arr_params[@]}"; local SELECTED=$?; SELECTED_MODE=${arr_params[${SELECTED}]}; } main() { select_test; if [ $SELECTED -eq 1 ] then kubectl config use-context infra elif [ $SELECTED -eq 2 ] then kubectl config use-context cmoamgmt elif [ $SELECTED -eq 3 ] then kubectl config use-context saasmgmt elif [ $SELECTED -eq 4 ] then kubectl config use-context dsk-dev elif [ $SELECTED -eq 5 ] then kubectl config use-context dsk-prod fi } main