November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, April 26th, 2010 10:01 pm

Предположим, в силу исключительной криворукости вы умудрились в терминале привязать букву “e” к команде erase. И теперь при нажатии этой буквы у вас старается символ перед курсором. Соответственно, набрать stty sane или stty erase не представляется возможным.

Что делать?? Шелл пусть для определённости будет bash.
Один из вариантов отгадки под катом.

stty $'san\x65'

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Monday, April 26th, 2010 09:48 pm (UTC)
$ printf %s 'stty sanv' | tr u-w d-f | sh
stty: standard input: Invalid argument

что-то не так..
Monday, April 26th, 2010 09:56 pm (UTC)
Тогда, видимо, надо туда ещё </dev/tty воткнуть. Подобрать триаду букв, которая не используется (v уже не годится)
Monday, April 26th, 2010 10:06 pm (UTC)
ну где-то так тогда:
printf %s 'stty sanh </dhv/tty' | tr g-i d-f | sh

а объяснение , почему в предыдущем варианте stty ругнулся - это отдельная задачка для сисамдинов :)
Monday, April 26th, 2010 10:10 pm (UTC)
сисамдин -- отличная очепятка!