有没有办法检查什么trap
在 Bash 中设置了什么(在当前会话或脚本中)?
理想情况下,我希望能够获得trap
分配给它们的信号列表,但如果这不可能,我可以单独检查每个信号。
是的。
您可以查看所有陷阱或特定信号的陷阱:
$ trap # show all traps for all signals
$ trap -p SIGINT # only show traps for SIGINT
$ trap -p EXIT # only show traps for EXIT
让我们定义一个函数如下:
$ function f
> {
> echo trapped
> }
让我们将陷阱设置为分配给 SIGINT 的函数
$ trap f SIGINT
让我们列出设置陷阱:
$ trap
trap -- 'f' SIGINT
trap -- '' SIGTSTP
trap -- '' SIGTTIN
trap -- '' SIGTTOU