skrypt ksh używający instrukcji if break

0

Mam plik skryptu, który zawiera szczegóły serwera

set -A SERVERGRPS SERVERS_CA SERVERS_NY
set -A CA ca126 ca546 ca 642
set -A NY ny112 ny113 ny114

teraz muszę napisać inny skrypt, który nie powinien mieć żadnych szczegółów na serwerze, nie powinien wyświetlać żadnych nazw serwerów powinien używać pierwszego skryptu, który wkleiłem powyżej. używanie $ HOSTNAME serwera, z którego uruchamiamy skrypt (pasuje do której grupy, takiej jak CA lub NY).

Załóżmy, że NAZWA_HOSTA serwera znajduje się w tablicy CA, to powinno powiedzieć coś takiego jak SERVERGROUP IS CALIFORNIA. Jeśli żadna nazwa serwera nie pasuje do obu tablic, powinna ona wyświetlać „brak dopasowanej nazwy serwera”.

dla tego skryptu pętla powinna mieć instrukcję break i powinna wyjść z pętli, gdy okaże się, że wymagana grupa serwerów nie przekroczy całej pętli.

for TEMP_SRVGRP in ${SERVERGRPS[*]}; do
SERVERGRP="GRP_$TEMP_SRVGRP"
for SERVERGRP in ${SERVERGRP_TEMP[*]}; do
if [[ $SERVERGRP == $HOSTNAME ]]; then 
        $SERVERGRPS=$SERVERGRP
break
        echo $SERVERGRPS
    fi
  done
done
 if [[ -n $SERVERGRPS]]; then
   break
  fi
  if [[ -z $SERVERGRPS]]; then
echo SERVERGRP is not defined for $HOSTNAME
fi

Gotowe

Gdyby ktoś mógł mi pomóc napisać ten skrypt, byłoby świetnie. Proszę pomóż mi....

Jamesking
źródło
Oprócz ksh, jak to się różni od twojego poprzednie pytanie ? Ta strona nie jest usługą „daj mi kodez”, zobacz superuser.com/help/how-to-ask
glenn jackman
Cześć Glenn Napisałem powyższy skrypt Nie jestem w stanie uzyskać pożądanego wyjścia.
Jamesking