Я пытаюсь изменить поведение сигналов управления по умолчанию с помощью stty
. Сигналы типа Ctrl+C, Ctrl+D, Ctrl+Z, Ctrl+\. Может ли кто-нибудь дать мне идею о том, как отключить и включить эти сигналы на консоли с помощью stty
.
решение1
Вы можете «перехватывать» команды (и комбинации клавиш) с помощью trap
:
trap "echo CTRL+C not allowed" 2
Теперь при использовании CTRL+C
терминала я получаю следующее сообщение:
CTRL+C not allowed
Или, trap "" 2
если вы просто хотите выполнить треппинг, CTRL+C
ничего не печатая.
Чтобы очистить ловушку, просто сделайте следующее:
trap - 2
Прочитайте страницу руководства по ловушкездесь. Более подробную информацию о сигналах и ловушках можно найтиздесь.
решение2
ловушка не сработает при нажатии CTRL+Z, когда вы предоставляете CTRL+Z, обработчик не будет выполняться и ваша консоль станет неинтерактивной