陷阱命令未检测到终端调整大小SIGWINCH

问题描述

我试图检测使用trap "echo resized" SIGWINCH调整菜单大小的时间,但似乎没有检测到。我目前正在使用ubuntu 20.04,我正在使用bash脚本来执行此操作。 trap命令在脚本的顶部。为什么不执行?

解决方法

根据bash手册(man bash):

如果bash正在等待命令完成并接收到已设置陷阱的信号,则在命令完成之前将不执行陷阱。

您可以使用以下方法进行验证:

trap 'echo resized' SIGWINCH

while true; do
    sleep 1
done