Cuestión : sujeción de una escritura del ksh

Tengo una escritura del ksh el funcionar en AIX6.1, que será funcionado como usuario normal (no raíz). Mi escritura invoca otros shell scriptes. Aquí está mi escritura: ¡gato menu2.ksh
# del

#! /USR/BIN/KSH

CLEAR
ECHO
PRINT “CSIA RBAC -- CONFIGURACION --¡“settrap del
echo

function {trampa “impresión “del
usted golpeó Control-C! ”” Privados " en RBAC "
print “3) Salir " opcion de los comandos del

settrap

print “1) Configurar de INT
} de los usuarios del
print “2) Configurar del la del

echo
echo “Seleccione: “
echo

while verdad; el do
leyó la impresión del
“de los activos de los privilegiados " de los comandos de Listar los de la impresión “del in
/> 1) a) b) comando de Anadir " impresión del
“de un RBAC c) comando de Eliminar el
de un RBAC " mientras que SELECT2 leído; do
/>) “: ” lssecattr del && - c TODA|csia del grep|awk “{impresión $1}”; ;
“b”) ./addcmdrbac.ksh; ;
“c”) ./delcmdrbac.ksh; ; rotura 2
del esac
del
hecha; ; impresión del
2) “a) opción " un
de la opción b de la impresión del
“b) " mientras que SELECT2 leído; impresión “del in
“a” del caso $SELECT2 del do
) seleccionado”; ; impresión “B del
“b”) seleccionada”; ; rotura 2
del esac
del
hecha; ; rotura del

3); ;
./menu2.ksh del
/> # break
done

Question: ¿el
How puede yo prevenir a un cualquier usuario para abortar mi escritura con Ctrol+C o Ctrol+Z, o la otra matanza o señal aborto? ¿el
Can protejo esto contra la escritura principal (menu2.ksh)?
class= del

Respuesta : sujeción de una escritura del ksh

¡Hola otra vez y apesadumbrado!

Pasé por alto que usted está utilizando obviamente la versión de la herencia del ksh, que es estándar para el AIX.

¡En comparación con el ksh93 más nuevo (que utilizo para las escrituras hechas en casa), poner el comando de la trampa en una función no se apoya realmente con el ksh! ¡Trabajará solamente dentro de la función y no en la escritura de llamada!

¡Usted podría o cambiar tan a ksh93 (substituyendo #! ¡/bin/ksh con #! /bin/ksh93, pero comprueban por favor a fondo para saber si hay compatibilidad)), o usted debe abandonar usar una función.

De todas formas (ksh o ksh93) usted podría poner la “trampa” comando” en un archivo y “una fuente autónomos” él donde necesitado.

1) Crear un archivo que contiene apenas TÉRMINO PARADO HUP del "" internacional de la trampa y llamar este archivo e.g. /etc/ignoretrap.

2) Agregar.  /etc/ignoretrap como la segunda línea a cualquier escritura deseó. Observar “. ¡” (espacio del punto) settrap precedente! ¡Es importante!

¡Y tomar por favor el cuidado para no hacer caso realmente de las trampas usar una cadena nula como el comando! Imprimir una secuencia en muchos casos no rendirá el resultado deseado (que continúa la escritura como si hubiera sucedido nada).

wmp

Otras soluciones  
 
programming4us programming4us