Не драйвер устройства, а скорее информативный PDF вещей, которые необходимо будет знать для осуществления этого использования: http://www.remote-exploit.org/content/keykeriki_v2_cansec_v1.1.pdf
Вы будете видеть, что использование не настолько легко осуществить, но с другой стороны конечно, в пределах возможного для целенаправленного нападения.
См. Эту ссылку http://www.termsys.demon.co.uk/vtansi.htm . Как говорит Антон, \ 033
- это восьмеричный код в стиле C для escape-символа. [999D
перемещает курсор назад на 999 столбцов, предположительно методом грубой силы для перехода к началу строки. [2K
удаляет текущую строку. \ r
- это возврат каретки, который перемещает курсор обратно в начало текущей строки, и представляет собой escape-последовательность в стиле C, а не управляющую последовательность терминала.
Как отмечали другие люди, эти управляющие последовательности не имеют ничего общего с bash
, а имеют отношение к терминальному устройству / эмулятору, на котором отображается текст. Когда-то эти последовательности обычно интерпретировались совершенно другим оборудованием. Первоначально каждый отвечал на совершенно разные наборы кодов. Чтобы справиться с этим, библиотеки termcap
и terminfo
используются для написания кода, совместимого с несколькими терминалами. Команда tput
является интерфейсом к библиотеке terminfo
(поддержка termcap
также может быть скомпилирована) и является более надежным способом создания совместимых последовательностей.
При этом существует также стандарт ANSI X3.64 или ECMA-48 . Любая современная реализация терминала будет использовать это. terminfo
и termcap
по-прежнему актуальны, поскольку реализация может быть неполной или включать нестандартные расширения, однако для большинства целей можно с уверенностью предположить, что общие последовательности ANSI будут работать.
xterm
FAQ предоставляет интересную информацию о различиях между современными эмуляторами терминала (многие просто пытаются эмулировать сам xterm
) и о том, как xterm
последовательности относятся к терминалам VT100, упомянутым в приведенной выше ссылке.Он также предоставляет окончательный список управляющих последовательностей xterm
.
Также обычно используется консоль Linux, полный список управляющих последовательностей для нее можно найти в man console_codes
, а также сравнить с xterm
.