我有一个bash
脚本,在其中我指定了trap
将为任何 (catchable) 调用一个函数signal
。
typeset -i sig=1
while (( sig < 65 )); do
trap myfunc $sig
let sig=sig+1
done
我的脚本有什么方法可以确定哪个signal
已被捕获?
答案1
trap "signum=${sig};myfunc" "$sig"
答案2
我假设您正在尝试将捕获到的信号值传递给您想要采取的操作。尝试这样的事情:
# 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