#! /bin/bash tmp=/tmp/menu pos=1 pos_calc=0 CLASSME="" choose_etape1=0 choose_etape2=0 etape1[0]="1 CAT1" etape1[1]="2 CAT2" etape1[2]="3 CAT3" ####################################################### ## CAT1 ## etape2_1_type="checklist" etape2_1[0]="1 TOTO off" etape2_1[1]="2 TOTO2 off" etape2_1_1_profil="TOTO_SRV TOTO_PLUGINS_SRV_LINUX DISKBASE" etape2_1_2_profil="TOTO2_SRV DISKBASE" # toto etape3_1_1[0]="1 mach1" etape3_1_1[1]="2 mach2" etape3_1_1[2]="3 mach3" etape3_1_1[3]="4 mach4" etape3_1_1_1_profil="HOST_MACH1 TOTO_CONF1 C_AGENT T_AGENT" etape3_1_1_2_profil="HOST_MACH2 TOTO_CONF2 C_AGENT T_AGENT" etape3_1_1_3_profil="HOST_MACH3 TOTO_CONF3 C_AGENT T_AGENT" etape3_1_1_4_profil="HOST_MACH4 TOTO_CONF4 C_AGENT T_AGENT" # toto2 etape3_1_2[0]="1 mach3" etape3_1_2[1]="2 mach4" etape3_1_2_1_profil="HOST_MACH3 TOTO2_CONF1 C_AGENT T_AGENT" etape3_1_2_2_profil="HOST_MACH4 TOTO2_CONF2 C_AGENT T_AGENT" # toto + toto2 etape3_1_3[0]="1 mach5" etape3_1_3[1]="2 mach6" etape3_1_3_1_profil="HOST_MACH5 TOTO2_CONF1 TOTO_CONF3 C_AGENT T_AGENT" etape3_1_3_2_profil="HOST_MACH6 TOTO2_CONF2 TOTO_CONF4 C_AGENT T_AGENT" ###################################################### ## CAT2 ## etape2_2_type="menu" etape2_2[0]="1 DNS-WINS" etape2_2[1]="2 LDAP" etape2_2[2]="3 LVS" etape2_2[3]="4 SSO" etape2_2[4]="5 SQUID" etape2_2[5]="6 C" etape2_2[6]="7 FAI" etape2_2_1_profil="DNS-WINS_SRV DISKBASE" etape2_2_2_profil="LDAP_SRV DISKBASE" etape2_2_3_profil="LVS_SRV DISKBASE" etape2_2_4_profil="SSO_SRV DISKBASE" etape2_2_5_profil="SQUID_SRV DISKBASE" etape2_2_6_profil="C_SRV DISKBASE" etape2_2_7_profil="FAI_SRV DISKBASE" # DNS-WINS etape3_2_1[0]="1 mach10" etape3_2_1[1]="2 mach11" etape3_2_1[2]="3 mach12" etape3_2_1[3]="4 mach13" etape3_2_1_1_profil="HOST_MACH10 DNS-WINS_CONF1 T_AGENT VT" etape3_2_1_2_profil="HOST_MACH11 DNS-WINS_CONF2 T_AGENT VT" etape3_2_1_3_profil="HOST_MACH12 DNS-WINS_CONF3 T_AGENT VT" etape3_2_1_4_profil="HOST_MACH13 DNS-WINS_CONF4 T_AGENT VT" # LDAP etape3_2_2[0]="1 mach20" etape3_2_2[1]="2 mach21" etape3_2_2[2]="3 mach22" etape3_2_2[3]="4 mach23" etape3_2_2_1_profil="HOST_MACH20 LDAP_CONF1 T_AGENT VT" etape3_2_2_2_profil="HOST_MACH21 LDAP_CONF2 T_AGENT VT" etape3_2_2_3_profil="HOST_MACH22 LDAP_CONF3 T_AGENT VT" etape3_2_2_4_profil="HOST_MACH23 LDAP_CONF4 T_AGENT VT" # LVS etape3_2_3[0]="1 mach30" etape3_2_3[1]="2 mach31" etape3_2_3[2]="3 mach32" etape3_2_3[3]="4 mach33" etape3_2_3_1_profil="HOST_MACH30 LVS_CONF1 T_AGENT" etape3_2_3_2_profil="HOST_MACH31 LVS_CONF2 T_AGENT" etape3_2_3_3_profil="HOST_MACH32 LVS_CONF3 T_AGENT" etape3_2_3_4_profil="HOST_MACH33 LVS_CONF4 T_AGENT" # SSO etape3_2_4[0]="1 mach50" etape3_2_4[1]="2 mach51" etape3_2_4_1_profil="HOST_MACH50 SSO_CONF1 T_AGENT" etape3_2_4_2_profil="HOST_MACH51 SSO_CONF2 T_AGENT" # SQUID etape3_2_5[0]="1 mach60" etape3_2_5[1]="2 mach61" etape3_2_5[2]="3 mach62" etape3_2_5[3]="4 mach63" etape3_2_5_1_profil="HOST_MACH60 SQUID_CONF1 T_AGENT" etape3_2_5_2_profil="HOST_MACH61 SQUID_CONF2 T_AGENT" etape3_2_5_3_profil="HOST_MACH62 SQUID_CONF3 T_AGENT" etape3_2_5_4_profil="HOST_MACH63 SQUID_CONF4 T_AGENT" # C etape3_2_6[0]="1 mach100" etape3_2_6[1]="2 mach101" etape3_2_6_1_profil="HOST_MACH100 C_CONF1 C_AGENT T_AGENT" etape3_2_6_2_profil="HOST_MACH101 C_CONF2 C_AGENT T_AGENT" # FAI etape3_2_7[0]="1 dappfai" etape3_2_7_1_profil="HOST_DAPPFAI" ###################################################### ## TEST ## etape2_3_type="menu" etape2_3[0]="1 TEST" etape2_3_1_profil="DISKTEST" # TEST etape3_3_1[0]="1 test" etape3_3_1_1_profil="HOST_TEST VT" ####################################################### etape_1() { pos_calc=1 eval dialog --clear --title \"Installation - Etape 1\" --menu \"Veuillez choisir:\" 15 64 8 ${etape1[*]} 2>$tmp 1>/dev/console if [ "$?" -ne 0 ] ; then pos_calc="0" return 1 fi for profil in $(cat $tmp); do choose_etape1=$profil done return 0 } etape_2() { CLASSME="" pos_calc=1 eval type_elem=\$etape2_${choose_etape1}_type eval tmp_var=\$\{etape2_${choose_etape1}\[\*\]\} if [ "$type_elem" = "checklist" ]; then eval dialog --clear --separate-output --title \"Installation - Etape 2\" --checklist \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console else eval dialog --clear --title \"Installation - Etape 2\" --menu \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console fi if [ "$?" -ne 0 ] ; then pos_calc="-1" return 1 fi choose_etape2=0 for profil in $(cat $tmp); do choose_etape2=$(($choose_etape2 + $profil)) eval classtmp=\"\$etape2_${choose_etape1}_${profil}_profil\" CLASSME="$CLASSME $classtmp" done return 0 } etape_3() { pos_calc=1 eval tmp_var=\$\{etape3_${choose_etape1}_${choose_etape2}\[\*\]\} eval dialog --clear --title \"Installation - Etape 3\" --menu \"Veuillez choisir:\" 15 64 8 $tmp_var 2>$tmp 1>/dev/console if [ "$?" -ne 0 ] ; then pos_calc="-1" return 1 fi choose_etape3=0 for profil in $(cat $tmp); do choose_etape3=$(($choose_etape3 + $profil)) eval classtmp=\"\$etape3_${choose_etape1}_${choose_etape2}_${profil}_profil\" CLASSME="$CLASSME $classtmp" done return 0 } while : ; do eval etape_$pos pos=$(($pos + $pos_calc)) if [ $pos -gt 3 ] ; then break fi done echo FAIBASE GRUB TOTO TOTO_PLUGINS_TGT_LINUX B_AGT echo $CLASSME rm -f $tmp exit 0