В bash
я раскручиваю оболочку t/csh
, которая обновляет ввод tty (stty erase ^H
) в .cshrc, но при exit
-ing и возврате в bash клавиша backspace больше не работает. Это потому, что bash использует readline
и мне нужно сбросить стирание (stty erase ^?
).
Если я правильно понимаю trap
, кажется, что я мог бы перехватить выход t/csh из процесса t/csh и запускать команды после его выхода. Тем не менее, я предпочел бы, чтобы перехват происходил в bash, который в идеале должен был бы обнаружить, что оболочка была вызвана / завершена, а затем запустить скрипт для сброса настроек.
Это предпочтительнее, потому что я могу вызывать любое количество оболочек (например, dash
, zsh
), что может непреднамеренно изменить настройки, относящиеся к bash. Вместо того, чтобы поддерживать несколько команд trap
для каждой оболочки, кажется, что было бы лучше иметь одну для bash.
Правильно ли мое понимание trap
? Если да, то может ли bash
обнаружить выход дочерней оболочки и затем запустить скрипт?