8

有没有办法检查什么trap在 Bash 中设置了什么(在当前会话或脚本中)?

理想情况下,我希望能够获得trap分配给它们的信号列表,但如果这不可能,我可以单独检查每个信号。

4

2 回答 2

8

的。

您可以查看所有陷阱或特定信号的陷阱:

$ trap            # show all traps for all signals
$ trap -p SIGINT  # only show traps for SIGINT
$ trap -p EXIT    # only show traps for EXIT
于 2017-03-08T22:24:57.647 回答
6

让我们定义一个函数如下:

$ function f
> {
> echo trapped
> }

让我们将陷阱设置为分配给 SIGINT 的函数

$ trap f SIGINT

让我们列出设置陷阱:

$ trap
trap -- 'f' SIGINT
trap -- '' SIGTSTP
trap -- '' SIGTTIN
trap -- '' SIGTTOU
于 2016-09-13T19:01:35.353 回答