printf недопустимая опция --'d'

Это определяется: )какие символы отправляет эмулятор терминала при нажатии клавиши BackSpace(^H/ BSили ^?/DEL)и b )какой символ используется как VERASEс помощью драйвера tty (см. и измените последний с помощьюstty(1)--stty erase ^H).

Если эмулятор терминала отправляет ^H, но tty не распознает его как специальный символ, нажатие клавиши BackSpace визуально «сотрет» последний символ на экране[1], но символ будет отправлен поскольку -равно (вместе с символом перед ним )для чтения процесса с tty(cat).

Редакторы и интерактивные программы с возможностями редактирования строки -устанавливают tty в необработанный режим и выполняют собственную обработку специальных символов и могут обрабатывать ^Hи ^?одинаково; catне один из них ;-)

[1] это зависит от настройкиechoctlstty--, если она установлена, терминал будет отображать управляющие символы обратно в формате "^"+chr(char^0x40)(^Hдля BS = 8и т. д. ).

-1
22.07.2021, 17:25
0 ответов

Теги

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