Попробуйте другие цвета и посмотрите, что из этого получится!

ПРИМЕЧАНИЕ

Помимо атрибутов символов нормального (0) и жирного (1) текста, есть также атрибут подчеркивания (4), мигания (5) и инверсии (7). В целях воспитания хорошего вкуса многие эмуляторы терминалов не поддерживают атрибут мигания.

<p>Перемещение курсора</p>

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

Таблица 13.4. Экранированные последовательности, управляющие позицией курсора

Последовательность

Действие

\033[l;cH

Перемещает курсор в строку l и позицию c

\033[nA

Перемещает курсор вверх на n строк

\033[nB

Перемещает курсор вниз на n строк

\033[nC

Перемещает курсор вперед на n символов

\033[nD

Перемещает курсор назад на n символов

\033[2J

Очищает экран и помещает курсор в левый верхний угол (строка 0, позиция 0)

\033[K

Очищает экран от позиции курсора до конца текущей строки

\033[s

Сохраняет текущую позицию курсора

\033[u

Восстанавливает сохраненную позицию курсора

Используя эти коды, можно сконструировать строку приглашения, рисующую красный прямоугольник с часами в верхней части экрана (время отображается желтым цветом). Код, определяющий строку приглашения, на этот раз выглядит немного устрашающе:

PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]<\u@\h \W>\$ "

В табл. 13.5 приведены отдельные части этого определения, они помогут понять, как это работает.

Таблица 13.5. Экранированные последовательности, управляющие позицией курсора

Перейти на страницу:

Похожие книги