Предположим, в силу исключительной криворукости вы умудрились в терминале привязать букву “e” к команде erase. И теперь при нажатии этой буквы у вас старается символ перед курсором. Соответственно, набрать stty sane или stty erase не представляется возможным.
Что делать?? Шелл пусть для определённости будет bash.
Один из вариантов отгадки под катом.
stty $'san\x65'
Оригинал этой записи. Комментировать можно тут или там.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме
Tags:
no subject
после этого букву как ни вставляй - хоть с клавиатуры, хоть из буфера обмена, хоть Alt-кодами набирай - она всё равно будет распознана терминалом как команда удаления символа.
вот, собственно, в том и вопрос: КАК эту настройку терминала убрать. обычный способ: stty sane, но он не работает..
no subject
# ls / > ~/r
# vi ~/r
(жмём "r", правим строчку /etc на stty sane, остальное удаляем)
:qw!
# chmod u+x ~/r
# ~/r
покатит? А то у меня линукса под рукой нету. :)
no subject
no subject
Я просто не был на 100% уверен, что "stty sane" не аннулируется после выхода из скрипта (хотя это и обходится:
* правкой в vi ~/.bashrc
* запуском в том же ~/r шелла
* правкой алиасов баша -- назначением алиасу "sttysain" команды "stty sane"
и т.д.)
no subject
no subject
Это и составляло 99% моей уверенности. :) Но проверить всё же хотелось, благо недолго же.