有没有办法检查在Bash中设置了哪些trap
(在当前会话或脚本中)?
理想情况下,我希望能够获得分配给它们的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