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

Trap Command not detecting terminal resize (SIGWINCH)

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

根据 bash 手册 (man bash):

If bash is waiting for a command to complete and receives a signal for which a trap has been set, the trap will not be executed until the command completes.

您可以通过以下方式验证:

trap 'echo resized' SIGWINCH

while true; do
    sleep 1
done