Странная проблема с ловушкой и SIGINT
Спасибо всем за ответы и за время, потраченное на изучение проблема.
Пожалуйста, позвольте мне резюмировать и интегрировать (с извинениями за то, что может быть очевидным в следующем):
1) Я забыл добавить в свой вопрос, я также пробовал SIGQUIT, и он вел себя как SIGINT;
2 ) Исходя из этого, я уже подозревал, что проблема была связана с расположением по умолчанию интерактивного bash для этих двух сигналов;
3) Их действие по умолчанию не происходит при взаимодействии с bash, потому что нет смысла выходить или прерывать что-либо, когда единственное, что у вас есть, это подсказка. Если вы хотите покинуть оболочку, просто введите exit;
4) Я не вижу, чтобы SIGQUIT и SIGINT играли особую роль в управлении заданиями (в отличие от SIGTSTP, SIGTTOU, SIGTTIN);
5) Нет. Для меня имеет смысл, что расположение по умолчанию интерактивного bash для этих двух сигналов должно быть унаследовано фоновой (неинтерактивной) оболочкой (та, которая выполняет scriptb.sh в нашем случае);
6) Фактически, просто поскольку группа процессов переднего плана не наследует (от оболочки, которая ее запустила) диспозиции для SIGQUIT и SIGINT, IMHO должно иметь смысл, чтобы то же самое произошло с группами фоновых процессов.
7) Более того, какой бы ни была унаследованная предрасположенность, ловушка должна ее изменить.
8) В целом я склонен согласиться с тригоном и думать, что то, что мы здесь видим, является ошибкой.
Подведение итогов комментариев. Необходимо добавить переменные среды следующим образом.
LD_LIBRARY_PATH="/home/<user>/lib" LIBRARY_PATH="/home/<user>/lib" CPATH="/home/<user>/include"