Preguntas etiquetadas con trap

63
¿"Trampa ... SALIDA INT TERMINAL" realmente necesaria?

Muchos ejemplos para trapusar trap ... INT TERM EXITen tareas de limpieza. Pero, ¿es realmente necesario enumerar las tres sigspecs? El manual dice: Si un SIGNAL_SPEC es EXIT (0) ARG se ejecuta al salir del shell. lo cual creo que se aplica si el script terminó normalmente o si terminó porque...

30
Trampa, ERR y eco de la línea de error

Estoy tratando de crear algunos informes de errores usando una trampa para llamar a una función en todos los errores: Trap "_func" ERR ¿Es posible obtener desde qué línea se envió la señal ERR? El caparazón es bash. Si hago eso, puedo leer e informar qué comando se usó y registrar / realizar...

14
¿La trampa es heredada por una subshell?

Intenté un siguiente script: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo El resultado para el script anterior fue: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Sin...

13
¿Cómo configurar trap en funciones bash?

Puedo configurar trapen scripts bash pero no en funciones bash. Por ejemplo, sourceel código a continuación y ejecutar f, ahora prueba Ctrl+ C, no ha sido atrapado ¿Cómo configurar trapen funciones bash? 4 trap ctrl_c INT 5 6 ctrl_c () { 7 echo "** Trapped CTRL-C" 8 } 9 10 11 f () {...

13
Cómo activar un error usando el comando Trap

Estoy usando Ubuntu 12.04.2. Estoy tratando de usar el comando "trap" para capturar anormales o errores en mi script de shell, pero también estoy tratando de activar manualmente la salida "Error". He intentado salir 1, pero no activará la señal de "Error". #!/bin/bash func() { exit 1 } trap...

12
¿Qué es la señal 0 en un comando trap?

Estoy siguiendo esta guía sobre cómo configurar la autenticación SSH sin contraseña con ssh-agent. Para iniciar ssh-agent, el autor recomienda el siguiente código en .bash_profile: SSHAGENT=/usr/bin/ssh-agent SSHAGENTARGS="-s" if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then eval `$SSHAGENT...

12
Iniciar la tarea en segundo plano en silencio

Sé que puede usar esto para iniciar un proceso en segundo plano, sin recibir la notificación cuando el proceso se pone en segundo plano y cuando se hace así: (comando &) &> / dev / null Sin embargo, esto elimina la opción de capturar cuando finaliza el proceso ( trap child_done...

12
Manejo de trampas y subcapas implícitas en scripts de shell

Digamos que tiene un script de shell que ejecuta algún tipo de código de limpieza a través de una EXITtrampa, como este: #!/bin/bash mytrap () { echo "It's a trap!" >&2 } trap mytrap exit echo I am at the end of the script. Esto, como se esperaba, se imprimirá It's a trap!cuando salga...

8
Subshell estándar vs subshell de sustitución de comandos

Por favor explique estas salidas de trampa: $ line(){ echo -------------; echo $BASHPID; } $ trap 'echo bye' EXIT; trap -p; line; (trap -p; line); echo "$(trap -p; line)" trap -- 'echo bye' EXIT trap -- '' SIGTSTP trap -- '' SIGTTIN trap -- '' SIGTTOU ------------- 6176 trap -- '' SIGTSTP trap --...