Странное поведение запроса на вход в систему

Попробуйте echo "$res" | hexdump -Cилиhexdump -C /tmp/res.txt-Бьюсь об заклад, вы увидите много шестнадцатеричных 0dбайтов (возвратов каретки ), по одному до или после каждого \, |, /, и -.

Почему? Возврат каретки -без перевода строки -возвращает курсор в начало строки, и все, что напечатано после него, перезаписывает то, что уже было там.

Это распространенный способ реализации счетчика текста в начале строки. (Если это делается в конце строки, хитрость заключается в том, чтобы НЕ печатать LF или CR, а использовать символ Backspace (^H, также известный как Ctrl-H , символ ASCII 0x08 )после каждого из символов счетчика, часто с небольшой задержкой в ​​начале.

Примечание :Нередко также можно увидеть последовательности управления терминалом, такие как «Стереть строку»(<ESC>[2Kили шестнадцатеричный 1b 5b 32 4bна терминале, совместимом с vt -100 )или «Стереть до конца строки»(ESC[Kили шестнадцатеричный1b 5b 4b)возле каждого возврата каретки. В данном случае это маловероятно, потому что они, вероятно, появятся в каком-то искаженном виде в редакторе Windows.

Другими словами, символы являются в выводе, просто они перезаписываются слишком быстро, чтобы вы могли заметить. Ваш редактор Windows, вероятно, "услужливо" конвертирует CR в CR -LF.

Кстати, в Unix LF используется только для окончания строки текста. Windows использует CR -LF. Старые, до -unix, Mac использовали только CR.

0
02.02.2020, 19:43
1 ответ

Это не странно. Терминальное устройство просто имеет эхо с установленным флагом echoctlв линейной дисциплине. Обычно линейная дисциплина терминального устройства сбрасывается в «нормальное» состояние любой программой, открывающей терминал и связывающейся с login, которая сильно различается в общем случае, но, вероятно, является одной из многих программ gettyв вашем случае. (Другие возможности: systemd или vc-reset-tty, например; или ttymon, если вы выходите за рамки операционных систем Linux. )Узнайте, какую программу вы используете и почему она не сбрасывается echoctl.

Дополнительная литература

0
28.04.2021, 23:24

Теги

Похожие вопросы