Вход/Регистрация
Командная строка Linux
вернуться

Шоттс Уильям

Шрифт:

Зеленый

\033[0;33m

Коричневый

\033[0;34m

Синий

\033[0;35m

Пурпурный

\033[0;36m

Бирюзовый

\033[0;37m

Светло-серый

\033[1;30m

Темно-серый

\033[1;31m

Светло-красный

\033[1;32m

Светло-зеленый

\033[1;33m

Желтый

\033[1;34m

Светло-синий

\033[1;35m

Светло-пурпурный

\033[1;36m

Светло-бирюзовый

\033[1;37m

Белый

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

<me@linuxbox ~>$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "

<me@linuxbox ~>$

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

<me@linuxbox ~>$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] "

<me@linuxbox ~>$

Так лучше!

Кроме того, существует возможность изменить цвет фона, для чего предназначены экранированные последовательности, перечисленные в табл. 13.3. Цвет фона не поддерживает атрибут жирного текста.

Таблица 13.3. Экранированные последовательности, используемые для определения цвета фона

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

Цвет

\033[0;40m

Черный

\033[0;41m

Красный

\033[0;42m

Зеленый

\033[0;43m

Коричневый

\033[0;44m

Синий

\033[0;45m

Пурпурный

\033[0;46m

Бирюзовый

\033[0;47m

Светло-серый

Чтобы вывести приглашение на красном фоне, достаточно изменить первую экранированную последовательность:

<me@linuxbox ~>$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] "

<me@linuxbox ~>$

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

ПРИМЕЧАНИЕ

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

Перемещение курсора

Экранированные последовательности можно использовать для позиционирования курсора. Этот прием часто используется для отображения времени или другой информации в разных местах на экране, например вверху, при каждом выводе приглашения к вводу. В табл. 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. Экранированные последовательности, управляющие позицией курсора

  • Читать дальше
  • 1
  • ...
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: