Моя проблема полягає в тому, що оболонка Bash перестає показувати символів, які я вводить до неї. Однак він читає команди.
Я стикався з цією проблемою досить багато разів, і не розумію, що викликає її. Я знаю, як це вирішити, але мені це дуже не подобається, коли я "вуду" маю вихід із проблем.
Я опишу два способи, з якими я стикався з цією проблемою:
Я запускаю певний процес, http://pythonpaste.org/script/, а іноді, коли я припиняю це або він порушує контроль, повертається до оболонки. Коли я переходжу та набираю команди в оболонку, символи, які я набираю, не відображаються. Коли я натискаю ввести команди будуть представлені. Так, наприклад:
- Я набираю "ls"
- Я бачу лише порожню підказку і більше нічого
- Я натискаю увійти , і я дав список файлів, інші слова: команда буде виконана
- коли я даю команду "скинути", оболонка знову починає нормально працювати
Другий спосіб це відбувається, коли я даю таку команду:
$ grep foo * -l | xargs vim
Я використовую grep, щоб знайти файли, які мають певний зразок, а потім я хочу відкрити всі файли, які є результатом grep. Це працює як шарм (хоча не так швидко, як я сподівався). Але коли я виходжу з Vim, моя оболонка перестає показувати символів, які я ввожу в неї. Команда скидання вирішує проблему.
Я здогадуюсь, що обидві проблеми мають основну причину, але я натрапив на те, як чи в чому причина.
Пошук цієї проблеми сам по собі є проблематичним, оскільки опис є невиразним та не має жорстких пошукових термінів.
Редагувати
Давання
stty --all
команда за запитом Джона С. Грубера дала такий вихід (пробіл відредагований для читабельності)
speed 0 baud;
rows 53;
columns 186;
line = 0;
intr = <undef>;
quit = <undef>;
erase = <undef>;
kill = <undef>;
eof = <undef>;
eol = <undef>;
eol2 = <undef>;
swtch = <undef>;
start = <undef>;
stop = <undef>;
susp = <undef>;
rprnt = <undef>;
werase = <undef>;
lnext = <undef>;
flush = <undef>;
min = 0;
time = 0;
-parenb
-parodd cs8
-hupcl
-cstopb cread
-clocal
-crtscts
-ignbrk
-brkint
-ignpar
-parmrk
-inpck
-istrip
-inlcr
-igncr
-icrnl
-ixon
-ixoff
-iuclc
-ixany
-imaxbel
-iutf8
-opost
-olcuc
-ocrnl
-onlcr
-onocr
-onlret
-ofill
-ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig
-icanon
-iexten
-echo
-echoe
-echok
-echonl
-noflsh
-xcase
-tostop
-echoprt
-echoctl
-echoke
stty --all
до свого питання. Спасибі заздалегідь!
stty --all
і поставте результати у своєму запитанні. Ехо - це ціла характеристика, яку вимкнено. Vim зробить це під час запуску, і він також переведе термінал в неочищений режим. Після завершення він повинен скинути налаштування терміналу. Коли vim працює, ви не хочете повторюватиi
команду, яка переводить редактор у режим вставки, наприклад. Ці налаштування вказують tty пристрою, як він повинен обробляти те, що ви вводите. Поки vim працює, він піклується про те, щоб повторити те, що має бути відлунне тощо.