是否有可能发现在bash *,其中*陷阱信号? [重复]
题
<强>可能重复:强>结果 在bash外壳脚本识别接收到的信号名称
当使用类似trap func_trap INT TERM EXIT
用:
func_trap () {
...some commands...
}
有一种方法在功能块来检测的 其中 强>陷阱叫什么?
是这样的:
func_trap () {
if signal = INT; then
# do this
else
# do that
fi
}
或者我需要编写,做一些不同的东西每个陷阱类型都有一个单独的功能? 是否有保持最新接收的信号一个bash变量?
提前感谢!
解决方案
任何参数或变量没有文件提示持有该被困信号,所以你必须为你写要表现不同每个陷阱的函数/ Trap语句。
其他提示
您可以实现自己的告警功能,可自动将信号传递给函数:
trap_with_arg() {
func="$1" ; shift
for sig ; do
trap "$func $sig" "$sig"
done
}
$ trap_with_arg func_trap INT TERM EXIT
的第一个参数func_trap将成为信号的名称。
不隶属于 StackOverflow