trap "signum=${sig};myfunc" "$sig"
Eu tenho um script bash
, no qual especifiquei por meio de trap
que uma função será chamada para qualquer (possível) signal
.
typeset -i sig=1
while (( sig < 65 )); do
trap myfunc $sig
let sig=sig+1
done
Existe alguma maneira de o meu script determinar qual signal
foi capturado?
Suponho que você esteja tentando passar o valor do sinal capturado para a ação que você deseja executar. Tente algo assim:
# 1 SIGHUP
# 2 SIGINT
# 3 SIGQUIT
# 6 SIGABRT
# 9 SIGKILL
# 14 SIGALRM
# 15 SIGTERM
for sig in 1 2 3 6 9 14 15; do
trap 'echo "caught signal '$sig'..."' $sig
done