Отлавливаю сигналы SIGWINCH и SIGINT таким образом:
trap 'fynk1 ; exit 0' SIGINT
trap 'fynk2' SIGWINCH
Эти строки прописываю в начале скрипта, далее идёт некоторый код выполнения скрипта заходя в бесконечный цикл в котором командой read жду нажатие клавиши.
Если в бесконечном цикле вместо read вписать нулевую задержку sleep 0 то после изменения размера терминала, вывод сразу подстраивается под новые размеры, а так же и при нажатии на ctrl+c происходит выход с возвратом старых настроек терминала.
Но при read, при изменении размеров терминала, вывод подстраивается под новые размеры только после нажатия клавиши, это понятно. Не понятно почему после нажатия ctrl+c происходит возврат старых настроек. Получается один сигнал отрабатывает сразу, а другой нет. Можно как то сделать что бы обработка сигнала SIGWINC то же происходила сразу и при этом было ожидание нажатия клавиши?