With Ctrl-c the shell doesn't finish.

The shell file is showed here:


#!/bin/sh
# $Id: menu,v 1.5 2004/05/20 12:15:57 holsta Exp $
#
# Menu wrapper for FireWired. Ctrl-C is ignored and user input is never
# passed to the command line.

PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/games:.
export PATH HOME TERM

umask 077

HELP=/home/console/menu.help
GREETING=/home/console/menu.greeting


trap "" 2

grep -v "^#" $GREETING

while true
do
        echo "FireWired> \c"
        if read line
        then
                case "$line" in
                "")     continue;;
                esac

                set -- $line
                case "$1" in

                CASAV.bash)             CASAV.bash;;
                CAcceso.bash)           CAcceso.bash;;
                CActivarPolitica.sh)    CActivarPolitica.sh;;
                CAnadirFiltroProxy.sh)  CAnadirFiltroProxy.sh;;
                CAnadirPuertoProxy.sh)  CAnadirPuertoProxy.sh;;
                CAnadirRedProxy.sh)     CAnadirRedProxy.sh;;
                CApaga.sh)              CApaga.sh;;
                CAplicarRFPProxy.sh)    CAplicarRFPProxy.sh;;
                CAyuda.sh)              CAyuda.sh;;
                CBorrarEncam.sh)        CBorrarEncam.sh;;
                CBorrarEstad.sh)        CBorrarEstad.sh;;
                CBorrarFiltroProxy.sh)  CBorrarFiltroProxy.sh;;
                CBorrarObjeto.bash)     CBorrarObjeto.bash;;
                CBorrarPolitica.sh)     CBorrarPolitica.sh;;
                CBorrarPuertoProxy.sh)  CBorrarPuertoProxy.sh;;
                CBorrarRedProxy.sh)     CBorrarRedProxy.sh;;
                CBorrarRegla.bash)      CBorrarRegla.bash;;
                CBorrarReglaBINAT.bash) CBorrarReglaBINAT.bash;;
                CBorrarReglaNAT.bash)   CBorrarReglaNAT.bash;;
                CBorrarReglaPF.bash)    CBorrarReglaPF.bash;;
                CBorrarReglaRDR.bash)   CBorrarReglaRDR.bash;;
                CBorrarReglaVPN.bash)   CBorrarReglaVPN.bash;;
                CBorrarRuta.bash)       CBorrarRuta.bash;;
                CBridges.bash)          CBridges.bash;;
                CConfFabrica.sh)        CConfFabrica.sh;;
                CConsola.bash)          CConsola.bash;;
                CCrearObjeto.bash)      CCrearObjeto.bash;;
                CCrearPolitica.bash)    CCrearPolitica.bash;;
                CCrearReglaBINAT.bash)  CCrearReglaBINAT.bash;;
                CCrearReglaNAT.bash)    CCrearReglaNAT.bash;;
                CCrearReglaPF.bash)     CCrearReglaPF.bash;;
                CCrearReglaRDR.bash)    CCrearReglaRDR.bash;;
                CCrearReglaVPN.bash)    CCrearReglaVPN.bash;;
                CCrearRuta.bash)        CCrearRuta.bash;;
                CDNS.sh)                CDNS.sh;;
                CDepurar.sh)            CDepurar.sh;;
                CDesactivarPolitica.sh) CDesactivarPolitica.sh;;
                CGW.sh)                 CGW.sh;;
                CInterfacesIP.bash)     CInterfacesIP.bash;;
                CListaObj.sh)           CListaObj.sh;;
                CLogout.sh)             CLogout.sh;;
                CManuales.sh)           CManuales.sh;;
                CModificarObjeto.bash)  CModificarObjeto.bash;;
                CModificarReglaBINAT.bash)      CModificarReglaBINAT.bash;;
                CModificarReglaNAT.bash)        CModificarReglaNAT.bash;;
                CModificarReglaPF.bash) CModificarReglaPF.bash;;
                CModificarReglaRDR.bash)        CModificarReglaRDR.bash;;
                CModificarReglaVPN.bash)        CModificarReglaVPN.bash;;
                CMostrarPolActiva.sh)   CMostrarPolActiva.sh;;
                CMostrarPoliticas.sh)   CMostrarPoliticas.sh;;
                CMostrarPoliticasUser.sh)       CMostrarPoliticasUser.sh;;
                CMostrarReglas.sh)      CMostrarReglas.sh;;
                CMostrarReglasBINAT.sh) CMostrarReglasBINAT.sh;;
                CMostrarReglasNAT.sh)   CMostrarReglasNAT.sh;;
                CMostrarReglasPF.sh)    CMostrarReglasPF.sh;;
                CMostrarReglasRDR.sh)   CMostrarReglasRDR.sh;;
                CMostrarReglasVPN.sh)   CMostrarReglasVPN.sh;;
                CMoverReglaPF.bash)     CMoverReglaPF.bash;;
                CMoverReglaVPN.bash)    CMoverReglaVPN.bash;;
                CPassword.sh)           CPassword.sh;;
                CPing.sh)               CPing.sh;;
                CProxy.sh)              CProxy.sh;;
                CProxyFtp.sh)           CProxyFtp.sh;;
                CProxyTransp.sh)        CProxyTransp.sh;;
                CReboot.sh)             CReboot.sh;;
                CReloj.sh)              CReloj.sh;;
                CSMTP.bash)             CSMTP.bash;;
                CSsh.sh)                CSsh.sh;;
                CTraceroute.sh)         CTraceroute.sh;;
                CVPN.bash)              CVPN.bash;;
                CVPNAnadirSucursal.bash)        CVPNAnadirSucursal.bash;;
                CVPNClientes.bash)      CVPNClientes.bash;;
                CVPNEliminarSucursal.bash)      CVPNEliminarSucursal.bash;;
                CVPNSucursales.bash)    CVPNSucursales.bash;;
                GAplicaConf.sh)         GAplicaConf.sh;;
                GGuardaConf.sh)         GGuardaConf.sh;;
                MARP.sh)                MARP.sh;;
                MBridges.bash)          MBridges.bash;;
                MConfig.sh)             MConfig.sh;;
                MControladores.sh)      MControladores.sh;;
                MFlash.sh)              MFlash.sh;;
                MHistoria.sh)           MHistoria.sh;;
                MInterfaces.sh)         MInterfaces.sh;;
                MInterfacesIP.bash)     MInterfacesIP.bash;;
                MMemoria.sh)            MMemoria.sh;;
                MProcesos.sh)           MProcesos.sh;;
                MReloj.sh)              MReloj.sh;;
                MRutasIP.sh)            MRutasIP.sh;;
                MServiciosTCP.sh)       MServiciosTCP.sh;;
                MServiciosUDP.sh)       MServiciosUDP.sh;;
                MTraficoIP.sh)          MTraficoIP.sh;;
                MVersion.sh)            MVersion.sh;;
                ayuda)   grep -v "^#" $HELP
                        printf "\n";;
                exit)   exit;;
                quit)   exit;;
                bye)    exit;;
                logout) exit;;
                # If the user input is not a command, it may be a hostname to
                # connect to. We do strict checking against the list of known
                # hostnames, and if there's a match we connect to the system.
                # Output from grep command, not user input, is passed to the
                # command line.
                *)      echo Comando no reconocido: $line
                        echo Escriba 'ayuda' para mostrar la ayuda
                esac
        else
                break
        fi
done
exit




As you can see, I say all the only possibly commands you can type.




El Miircoles, 27 de Julio de 2005 16:02, escribis:
> On Wed, 27 Jul 2005 15:46:00 +0200
>
> Alexander Farber <[EMAIL PROTECTED]> wrote:
> > Or if a user presses ctrl-C before the trap command is executed?
> >
> > 2005/7/27, Alexander Farber <[EMAIL PROTECTED]>:
> > > :-) What about ctrl-Z, does that "secure gateway menu" script ignore
> > > : that too?
> > >
> > > 2005/7/27, Abel Talaversn Estevez <[EMAIL PROTECTED]>:
> > > > http://mongers.org/gw_menu
>
> Mmh ...
> Instead of being a smartmouth, you should think a little about what would
> really happen and not make assumptions based on nothing.
>
> let's make the assumption that trap was not even called. If a user presses
> ctrl-c the script will exit, closing the user's session. What did you
> expect it to do ? Spawn a shell from nothing ?
>
> -- chaton@

-- 
Abel Talaversn Estevez
Ingeniero Superior de Telecomunicaciones
Analista de Proyectos
OpenWired, S.L.
C/ Caballero, 87 - 08029 - Barcelona (Spain)
Tel (+34) 93/410 75 70 - Fax (+34) 93/419 45 91

Reply via email to