Code:
#!/bin/ksh 

#DIR_EJE=${HOME_EXP}/shell
DIR_EJE=/home/oracle7/admin/control-m/ORADISPONIBLE
#TNS_ADMIN=${DIR_EJE}
TNS_ADMIN=/home/oracle7/admin/control-m/TNS_ADMIN
OPCION=
TECLA=
ORACLE_HOME=/home/ttd/oracle/app/oracle/product/7.3.4

uso()
{
 echo ""
 printf "Elija una de las opciones posibles [1, 2, 3, 4]"
 echo ""
}

continua()
{
 echo ""
 echo ""
 echo "Pulsa una tecla para continuar ...........\c"
 read TEC
}

menu()
{
 clear
 echo ""
 echo ""
 echo ""
 echo ""
 echo ""
 echo ""
 printf "\t\t\tElija una opcion:\n"
 printf "\t\t\t=================\n"
 echo ""
 echo ""
 printf "\t\t\t1. Disponibilidad bases de datos produccion\n"
 echo ""
 printf "\t\t\t2. Disponibilidad comunicaciones\n"
 echo ""
 printf "\t\t\t3. Disponibilidad Oracle Comunicaciones\n"
 echo ""
 printf "\t\t\t4. Salir\n"
 echo ""
}

disponible()
{
 echo ""
 echo "Fecha de ejecucion del script : `date`"
 echo ""
 
 printf "\t\tB Datos\t\tDominio\t\t\tEstado\n"
 printf "\t\t=======\t\t=======\t\t\t======\n"
 printf "\n"
 cat ${DIR_EJE}/bbdd.conf | grep -v "#" | while read dominio bbdd version
 do
        FICHERO_RESUL=${DIR_EJE}/dispon${bbdd}.txt
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
        ${DIR_EJE}/oradisponible ${bbdd}_${dominio} > $FICHERO_RESUL
        estado=$?
        printf "\t\t"${bbdd}"\t\t"%11s"\t\t\c" ${dominio}
        if [ $estado -eq 0 ];then
                msgestado=OK
        else    
                if [ $estado -eq 1 ];then
                        msgestado=ERROR
                else
                        msgestado=AVISO
                fi
        fi
        printf $msgestado": "
        cat $FICHERO_RESUL
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
 done

}

tnsping()
{
 echo ""
 echo "Fecha de ejecucion del script : `date`"
 echo ""

 print "\t\tB Datos\t\tDominio\t\t\tEstado"
 print "\t\t=======\t\t=======\t\t\t======"
 print ""
 cat ${DIR_EJE}/bbdd.conf | grep -v "#" | while read dominio bbdd version
 do
        FICHERO_RESUL=${DIR_EJE}/dispon${bbdd}.txt
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
        ${ORACLE_HOME}/bin/tnsping ${bbdd}_${dominio} > $FICHERO_RESUL
        estado=$?
        printf "\t\t"${bbdd}"\t\t"%11s"\t\t\c" ${dominio}
        if [ $estado -eq 0 ];then
                msgestado=OK
        else
                if [ $estado -eq 1 ];then
                        msgestado=ERROR
                else
                        msgestado=AVISO
                fi
        fi
        printf $msgestado": "
        tail -1 $FICHERO_RESUL
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
 done

}

comunicaciones()
{
 echo ""
 echo "Fecha de ejecucion del script : `date`"
 echo ""

 print "\t\tMaquina\t\t\tEstado"
 print "\t\t=======\t\t\t======"
 print ""
 cat ${DIR_EJE}/bbdd.conf | grep -v "#"| cut -d' ' -f1 | uniq | while read dominio version
 do
        FICHERO_RESUL=${DIR_EJE}/dispon${bbdd}.txt
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
        /usr/sbin/ping ${dominio} > $FICHERO_RESUL
        estado=$?
        print "\t\t"${dominio}"\t\t\c"
        if [ $estado -eq 0 ];then
                msgestado=OK
        else
                if [ $estado -eq 1 ];then
                        msgestado=ERROR
                else
                        msgestado=AVISO
                fi
        fi
        printf $msgestado": "
        tail -1 $FICHERO_RESUL
        [[ -f $FICHERO_RESUL ]] && rm -f $FICHERO_RESUL
 done

}


# MAIN

while [ 1 ]
do
    menu
    echo  "\t\t\tElija una opcion: \c"
    read OPCION
    case ${OPCION} in
         1) disponible
            continua
          ;;

         2) comunicaciones
            continua
          ;;

         3) tnsping
            continua
          ;;

         4) echo ""
            exit 0
          ;;
 [a-z,A-Z]) uso
            continua
          ;;
         *)
          ;;
    esac
done

exit 0