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