Add installer.sh
This commit is contained in:
70
installer.sh
Executable file
70
installer.sh
Executable file
@@ -0,0 +1,70 @@
|
||||
#!/bin/sh
|
||||
|
||||
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[2KCMOA\nVersion: 3.5.4\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=("CMOA INSTALL" "CMOA PG Patch");
|
||||
echo -e "\nWelmcome! CMOA Helper\nChoose your job\n";
|
||||
select_menu "${arr_params[@]}";
|
||||
local SELECTED=$?;
|
||||
SELECTED_MODE=${arr_params[${SELECTED}]};
|
||||
}
|
||||
|
||||
main() {
|
||||
select_test;
|
||||
if [ $SELECTED -eq 1 ]
|
||||
then
|
||||
ansible-playbook -i inventory cmoa_install.yaml
|
||||
elif [ $SELECTED -eq 2 ]
|
||||
then
|
||||
ansible-playbook -i inventory cmoa_pgpatch.yaml
|
||||
fi
|
||||
}
|
||||
main
|
||||
Reference in New Issue
Block a user