Как терминалы программно блокируют возврат по приглашению оболочки, чтобы вы не могли вернуться по нему, например, $ для bash или C: \ blah \> - PullRequest
0 голосов
/ 18 сентября 2018

Вставляют ли они какие-то специальные скрытые символы в текстовый поток, или они просто жестко кодируют его каким-то другим способом, а затем обновляют позицию при прокрутке буфера? Bash выглядит так, как если бы он был, потому что после приглашения обычно оставалось пустое место. Если это специальный символ, то какой это символ?

1 Ответ

0 голосов
/ 18 сентября 2018

Терминал имеет различные входные и выходные потоки.

Тот факт, что вы видите, что вы печатаете, связан с тем, что терминал передает вам часть вашего ввода.

Приглашение не является вашим вводом, поэтому ваши пробелы обычно не проходят мимо него и не искажают приглашение.

              me@host> ls -l
terminal's -> ^^^^^^^^^~~~~~ <- yours
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...