#!/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[2KMake\n2024.04.19\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=("Ansible Setting" "Local Repo Setting" "Install Kubernetes"); echo -e "\n"; echo '🅾 🅵 🅵 🅻 🅸 🅽 🅴 🅴 🆇 🅴 🅼 🆃 🅾 🅾 🅻'; echo -e "\n"; select_menu "${arr_params[@]}"; local SELECTED=$?; SELECTED_MODE=${arr_params[${SELECTED}]}; } main() { select_test; if [ $SELECTED -eq 1 ] then ./settings.sh elif [ $SELECTED -eq 2 ] then cd kubespray ansible-playbook -i inventory/exem/inventory.ini infra-setting.yml elif [ $SELECTED -eq 3 ] then cd kubespray ansible-playbook -i inventory/exem/inventory.ini cluster.yml fi } main