使用 if break 语句的 ksh 脚本

使用 if break 语句的 ksh 脚本

我有一个脚本文件,其中包含服务器详细信息,例如

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

现在我必须编写另一个脚本,该脚本不应该硬编码任何服务器详细信息,它不应该显示任何服务器名称,它应该使用我上面粘贴的第一个脚本文件,它只需在最后使用我们运行脚本的服务器的$HOSTNAME显示服务器组(它将匹配哪个组,如CA或NY)。

假设服务器的 HOSTNAME 在 CA 数组中,那么它应该显示类似 SERVERGROUP IS CALIFORNIA 的内容。如果两个数组中均没有匹配的服务器名称,则应该显示“无匹配的服务器名称”。

对于此脚本,循环应该有 break 语句,并且一旦发现所需的服务器组就不会执行整个循环,就应该退出循环。

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

完毕

如果有人能帮我写这个脚本就太好了。请帮帮我……

相关内容